登录不起作用,我不知道问题出在哪里,请帮忙。
https://youtu.be/tUqUdu0Sjyc ----- Dennis Ivy -- YouTube 视频学习
浏览次数
from django.contrib.auth import authenticate, login, logout
def login(request):
if request.method == 'post':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('/')
return render(request, 'login.html')
html
<form method="post">
{% csrf_token %}
<input type="username" name="username">
<input type="password" name="password">
<input type="submit" name="submit">
</form>
网址
path('login/', views.login, name="login")
最佳答案
这里有两个问题:
request.method
始终大写;和- View 函数和
auth
函数之间存在名称冲突。
您可以这样检查:
from django.contrib.auth import authenticate
from django.contrib.auth import <b>login as login_auth</b>
from django.contrib.auth import logout
def login(request):
if request.method == <b>'POST'</b>:
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
<b>login_auth(</b>request, user<b>)</b>
return redirect('/')
return render(request, 'login.html')
关于django - 登录在 django 中不起作用 用户无法登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75208546/