2016-03-21 3 views

Antwort

0

Die erste Anforderung einer neuen Sitzung hat keinen Sitzungsschlüssel. Um Benutzersitzungen von der ersten Anfrage zu verfolgen, verwenden, um eigene Kennung, etwa so:

import base32_crockford 
import uuid 
... 
MY_SESSION_KEY='my_custom_session_key' 
... 
def process_request(self, request): 
     if MY_SESSION_KEY not in request.session: 
      if request.session.session_key is None: 
       my_key = base32_crockford.encode(uuid.uuid4()).lower() 
       request.session[MY_SESSION_KEY] = my_key 
      else: 
       request.session[MY_SESSION_KEY] = request.session.session_key 

     session_instance = request.session[MY_SESSION_KEY] 

Dieser Code wird den bestehenden Sitzungsschlüssel verwenden, wenn es vorhanden ist, oder einen neuen Zufallsschlüssel erstellen (I kodieren mit base32 zum leichteren Kopieren und Einfügen der Werte. Sie können den Zeichenfolgenwert der UUID direkt verwenden, wenn Sie dies bevorzugen.

+1

Fügen Sie diese zu Ihrem ursprünglichen Beitrag hinzu und entfernen Sie diese Antwort. –

+0

Ich beantwortete meine eigene Frage, falls andere eine ähnliche Situation haben. – Darren

Verwandte Themen