Ich habe Ansichten wie die unten seit rund Django 1.5, die in allen Django-Versionen seit (einschließlich 1.9) wie ein Charme funktionierte.Seit Django 1.10, meine Benutzer/Sitzung Daten verloren ist mit FBVs
def site_info(request):
context = RequestContext(request)
context_dict = {}
context_dict['site_version'] = settings.SITE_VERSION
return render_to_response('site_info.html', context_dict, context)
Allerdings seit Django 1.10 lädt die Seite, aber keine Sitzung/Benutzerdaten verfügbar. Es sieht so aus, als wäre der Benutzer nicht angemeldet. Wenn Sie zu einem CBV zurückkehren, funktionieren die Dinge gut. Session data corrupted
wird angezeigt, wenn Django ausgeführt wird.
Auch Nicht-ASCII-Zeichen wie ë
werden jetzt als ë
angezeigt.
Ich fand das Problem ist mit render_to_response
. Wenn Sie stattdessen zu render
wechseln, sind die Probleme verschwunden.
def site_info(request):
context_dict = {}
context_dict['site_version'] = settings.SITE_VERSION
return render(request, 'site_info.html', context_dict)
las ich die Django 1.10 release notes aber nichts, was ich kann wirklich auf meinen Finger zeigen. Übersehe ich etwas? Warum die plötzliche Verhaltensänderung?
Natürlich habe ich nicht von Django 1.5 direkt auf 1.10 aktualisiert. Django 1.5 im Jahr 2016 laufen zu lassen wäre eine sehr schlechte Idee. Die Funktionalität brach beim Übergang von 1.9 auf 1.10, aber die Implementierung wurde in ~ 1.5 durchgeführt; Ich werde es in meinem Beitrag klären. – SaeX