2017-03-07 4 views

Antwort

0

Es tut es nicht. Wenn eine Sitzung abläuft, läuft sie ab, das ist alles.

Ich denke Ihre Frage basiert auf einem Missverständnis darüber, was es bedeutet, überhaupt eingeloggt zu sein. Django weiß nicht, wer zu welcher Zeit angemeldet ist. Das Web ist zustandslos, und das einzige Mal, dass Django von einem Benutzer weiß, ist, wann sie eine Anfrage stellen. An diesem Punkt kann Django zwischen einem Benutzer, der ein gültiges Sitzungs-Cookie hat, und einem, der dies nicht hat, unterscheiden. Wenn die Sitzung jedoch später abläuft, wird der erste Django darüber informiert, wenn der Benutzer als nächstes eine Anfrage stellt.

+0

Ich brauche die Methode/Klasse wissen, wo django das Session-Cookie überprüft, und entscheiden, ob die Anforderung kam aus user „Dalailama“ ist oder nicht. Danach erwarte ich, auf Anfrage zu finden. Benutzer, "Dalalama" oder "AnonymousUser" – jalanga

+0

Das ist in der Authentifizierungs-Middleware. –

0

können Sie den Benutzer an jedem Ort der Ansicht von request.user. Wenn Sie eine gültige Benutzerinfo von request.user erhalten, ist der Benutzer angemeldet. und dies ist NULL dann wird der Benutzer nicht angemeldet.

+0

Eigentlich ist kein NULL AnonymousUser, und hilft mir nicht. Was ich wan: Auf Benutzerabmeldung möchte ich einige Sachen machen, was ich tat, aber wenn die Sitzung abgelaufen ist -> der Benutzer ist ausgeloggt, aber ich möchte das gleiche hier tun. – jalanga

+1

Django-Sitzung wird von Authentifizierungs-Middleware behandelt. Sie können nicht abfangen, die Sitzung ist abgelaufen oder nicht in Ihrem Code. Sie erhalten nur Informationen des angemeldeten Benutzers mit der Methode request.user –

Verwandte Themen