Djangos Sitzungs-Middleware weist beim ersten Speichern der Sitzung nur einen Sitzungsschlüssel zu. Wie verwende ich den Sitzungsschlüssel in meiner eigenen Middleware?Wie kann ich Benutzersitzungen in meiner eigenen Middleware in Django verfolgen?
0
A
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.
Verwandte Themen
- 1. Verwenden Ninject DI in meiner eigenen OWIN Middleware
- 2. Wie kann ich eine Middleware auf meiner Route hinzufügen?
- 3. Wie Update Django HttpRequest Körper in Middleware
- 4. Wie speichere ich Wert in meiner eigenen Sitzungsvariablen in Magento?
- 5. Django Middleware + URLs
- 6. wie benutzerdefinierte Middleware in Django einrichten
- 7. Nicht-globale Middleware in Django
- 8. soll ich in meiner django Abmelde Ansicht @csrf_protect zusammen mit der Middleware
- 9. Wie kann ich feststellen, ob der document.referrer von meiner eigenen Website stammt?
- 10. Wie kann ich den Miniplayer in Apple Music in meiner eigenen App implementieren?
- 11. Verwenden meiner eigenen UIView in UIScrollView
- 12. Wie kann ich meine eigenen Ereignisse in meiner C# -Anwendung wie die Standard-verfügbaren erstellen?
- 13. kann nicht Mockobjekt meiner eigenen Klasse erstellen
- 14. Kontext-Prozessoren vs Middleware in Django
- 15. Erstellen eines eigenen Kontextprozessors in Django
- 16. Django: Sitzung oder Cookies in Middleware abrufen
- 17. Bearbeiten meiner eigenen Benutzerseite in Grails
- 18. Wie kann ich eingehende Suchschlüsselwörter verfolgen?
- 19. Warum ist der "Kontext" meiner statischen ASP.Net-Funktion zwischen Benutzersitzungen?
- 20. Django process_view Middleware resultierend in 403 verboten
- 21. Implementieren meiner eigenen Pow-Funktion in Java
- 22. Wie kann ich Benutzersitzungen über mehrere Domänen mit Rails teilen?
- 23. Wie kann ich organische gegen bezahlte Facebook-Nutzer in meiner App verfolgen?
- 24. Kann ich nur meine TODO-Aufgaben in Visual Studio verfolgen?
- 25. Wie kann ich Plug-in-Abhängigkeiten in maven2 verfolgen?
- 26. Wie kann ich das Scroll-Verhalten des iPhone UIScrollView in meiner eigenen benutzerdefinierten Ansicht reproduzieren?
- 27. Wie kann ich konfiguriere viele-zu-viele-Beziehung zu meiner eigenen erstellten Entität in Entity Framework
- 28. Wie kann ich Google-Diagramm-Ereignisse in Google Analytics verfolgen?
- 29. Wie programmiere ich programmatisch auf meiner eigenen Facebook-Pinnwand?
- 30. Wie kann ich mich bei Google Apps und meiner eigenen Website anmelden, ohne eine API bereitzustellen?
Fügen Sie diese zu Ihrem ursprünglichen Beitrag hinzu und entfernen Sie diese Antwort. –
Ich beantwortete meine eigene Frage, falls andere eine ähnliche Situation haben. – Darren