Ich habe diese Seite verfolgt, um eine Django-Registrierung einzurichten Seite? ˅. Es ist ziemlich toll, und Registrierung und Authentifizierung sind gut verpackt.
Aber es zeigt mir nicht, wie überprüfe ich, ob ein Benutzer angemeldet ist, wer dieser Benutzer ist, bevor eine Webseite angezeigt wird? und wie leite ich den Benutzer nach dem Einloggen auf eine neue Seite?
Danke!
In einer Ansicht können Sie if request.user.is_authenticated():
verwenden und die Variable für den aktuellen Benutzer ist request.user
In einer Vorlage können Sie {% if user.is_authenticated %}
verwenden und die Variable für den aktuellen Benutzer ist user
Um einen Benutzer nach der Anmeldung umzuleiten, können Sie die Variable LOGIN_REDIRECT_URL
in settings.py
In .py-Dokumenten
Sie können dies entweder in jeder Ansicht verwenden
%Vor%oder dies kurz vor jeder Ansicht
%Vor% Denken Sie daran, dass dieser importiert werden muss from django.contrib.auth.decorators import login_required
Sie können auch LOGIN_URL = "/loginurl/"
in Ihre settings.py
schreiben, um nicht angemeldete Benutzer zu einer bestimmten URL anstatt der Standard-URL accounts/login
)
In .html-Dokumenten
%Vor%Umleiten nach dem Anmelden
Sie können LOGIN_REDIRECT_URL
in settings.py
oder redirect("/indexpage")
, nachdem der Benutzer angemeldet wurde.
Dieser letzte muss importiert werden from django.shortcuts import redirect
Tags und Links django django-authentication django-registration