我是看的Django Book的教程,然后用最原始的方式实现的。请问关于登录和注册,Django有没有封装像ListView, DetailView, FormView这样的class来直接实现呢?
这是login代码的实现
def user_login(request):
if request.POST:
username = password = ''
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None and user.is_active:
login(request, user)
return redirect('/')
else:
context = {}
return render(request, 'account/login.html', context)
这是register代码的实现
def user_register(request):
if request.method == "POST":
register_form = UserForm(request.POST)
if register_form.is_valid():
username = register_form.cleaned_data['username']
password = register_form.cleaned_data['password']
email = register_form.cleaned_data['email']
user = User.objects.create_user(username, email, password)
user.save()
login(request, authenticate(username=username, password=password))
return redirect('/')
else:
register_form = UserForm()
context = {'register_form': register_form}
return render(request, 'account/register.html', context)
这是logout代码的实现
def user_logout(request):
logout(request)
return redirect('/')
Tout d'abord, lors de la connexion, vous devez calculer une session ou des cookies pour le front-end. Après vous être connecté, le front-end viendra vers vous avec la session ou les cookies calculés et vous dira que je me suis connecté. mes informations de connexion, puis une fois que le serveur les a obtenues, il calcule si c'est la même chose que ce que j'ai calculé. Si c'est le cas, cela signifie qu'il est connecté normalement. Au lieu de simplement accéder à une page, aucune information n'est renvoyée.
Il va sans dire que vous devez vous inscrire. . Écrivez simplement le mot de passe du compte dans la base de données, puis réutilisez-le lors de la connexion et comparez-le. S'il est correct, passez à la connexion.
La déconnexion signifie effacer les informations de connexion de l'utilisateur, telles que les cookies, l'actualisation de la session, etc. Si elles ne sont pas détectées, vous ne pourrez pas accéder à la page de connexion, vous pouvez donc simplement accéder et rediriger vers la page de connexion.
Devrions-nous vérifier le nom d'utilisateur et le mot de passe transmis depuis le front-end ?
Identique à l'inscription