zu setzen, was ich in meinem codierten session_data haben ist:Wie neuen Wert für einen Schlüssel in Django session_data
'workspaceKey':'8d7f4b3106c740c1a54970a8b67d156d',
'_auth_user_hash': '7e024dd67ccb0e2aaab9ac1a92887109f7f020e4',
'_auth_user_id': '1',
'_auth_user_backend': 'django.contrib.auth.backends.ModelBackend'
Was ich versucht habe, ist (erster Ansatz):
request.session['workspaceKey'] = "123f4b3106c740c1a54970a8b67d111d"
aber es ist nicht workspaceKey ist mein bestehender session_data
Ein anderer Ansatz, was ich versuchte Aktualisierung ist:
sessionid = Session.objects.get(session_key=session_key)
sessionid.get_decoded()['workspaceKey'] = "8d7f4b3106c740c1a54970a8b67d111d"
Erneut ist es nicht aktualisiert workspaceKey ist mein existierendes session_data. Ich habe auch unter Kombinationen mit Bezug auf obigen Ansatz versuche
request.session.modified = True
SESSION_SAVE_EVERY_REQUEST=False
Mein Code ist wie dies
session_key = request.data['sessionKey']
request.session['workspaceKey']= "somenewkey"
request.session.modified = True
sessionid = Session.objects.get(session_key=session_key)
session_data= sessionid.get_decoded()
print session_data
Was ich in meiner Ausgabe als (neuer Arbeitsbereich Schlüssel soll aktualisiert werden) erwarten
'workspaceKey':'123f4b3106c740c1a54970a8b67d111d',
'_auth_user_hash': '7e024dd67ccb0e2aaab9ac1a92887109f7f020e4',
'_auth_user_id': '1',
'_auth_user_backend': 'django.contrib.auth.backends.ModelBackend'
Woher wissen Sie, dass es nicht aktualisiert wird? Die erste Methode ist die richtige und einzige Art, dies zu tun; Sitzungen sind wie Wörterbücher zu behandeln. –
Ich drucke aktualisierte Sitzungsdaten und es spiegelt den alten Wert wider. Trotzdem werde ich es noch einmal versuchen. – Roshan
Wo drucken Sie es? Zeige die ganze Ansicht. –