Frage

Ich bin mit django-Anmeldung Benutzer in meiner Anwendung anmelden. Das Teil funktioniert gut. Der Teil, dass ich nicht herausfinden kann, ist, wie man Satz benutzerdefinierte Session-Variablen, wenn sich der Benutzer anmeldet. Zum Beispiel, Ich mag würde Variablen füllen Userprofile Daten sowie die Ausgabe von einigen anderen Funktionen enthält. Dann würde ich in der Lage sein, diese Informationen in der folgenden Ansichten / Vorlagen.

Wenn jemand mich zu einem Tutorial Online zeigen kann oder einige Beispiel-Code schreiben, das wäre toll.

Ich bin mit django 1.1 und Python 2.6

War es hilfreich?

Lösung

Wenn Sie keine dauerhafte Speicherung von Benutzerdaten wollen (nur zusätzliche Sitzungsdaten) finden Sie unter:

http://docs.djangoproject.com/en/dev/ Themen / http / sessions /

Die Sitzungen Rahmen wird höchstwahrscheinlich bereits aktiviert, wenn Sie django.contrib.auth verwenden.

Wenn Sie persistente Speicherung von zusätzlichen Benutzerdaten (nicht nur in einer Sitzung, sondern in der Datenbank), speichert man sich in einem anderen „Profil“ -Modell:

http: // docs. djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

Andere Tipps

Ich weiß, @stefanw sofern Sie eine alternative Lösung, aber die ursprüngliche Frage zu beantworten:

Einstellen von Sitzungsdaten bei der Anmeldung ist schwierig, weil der einfachste Ort zu setzen, die Daten in Ihrer View-Funktion sind, und die jeweilige View-Funktion Sie ein Teil der contrib.django.auth App ändern wollen würden ist.

So Ihre Optionen wären folgend:

  • Erstellen Sie eine kleine Middleware-Klasse Ihre Sitzungsdaten zu setzen.
  • Erstellen Sie eine Template-Tag oder ein anderes Stück Code als in die Login-Vorlage oder nachfolgende Seite integriert werden, die die Daten eingestellt werden Sie wollen.
  • Schreiben Sie Ihre eigene benutzerdefinierte Login-View-Funktion (es ist wirklich ganz einfach, tatsächlich).

Happy django-ing!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top