我试图找到一个类似的问题,但我没有找到我想要的答案。我是新来的Django,我试图了解在Django身份验证,但我得到了这样的错误:Django登录错误,无法登录
AttributeError: 'AnonymousUser' object has no attribute '_meta'
这里是我的代码:
views.py
def login(request):
if request.method == "POST":
form = LoginForm(request.POST)
if form.is_valid():
username = request.GET['username']
password = request.GET['password']
user = authenticate(username=username, password=password)
if user is not None:
login(request,user)
return redirect('/')
else:
error = " Sorry! Username and Password didn't match, Please try again ! "
return render(request, 'girl/login.html',{'error':error})
else:
form = LoginForm()
return render(request, 'girl/login.html', {"form":form})
forms.py
class LoginForm(forms.ModelForm):
class Meta:
model = User
fields = ('username', 'password')
的login.html
{% extends 'base.html' %}
{% block content %}
<h1>Login</h1>
{% if error %}
{{ error }}
{% endif %}
<form method="POST">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="login">
</form>
{% endblock %}
任何帮助,将不胜感激。谢谢!
我不确定你是在学习Django的内部构件,还是只是为了构建一个应用程序,但这不是*自定义登录表单的方式。您可以简单地覆盖登录模板,而不是混淆表单/视图代码。 – Selcuk
请添加完整的堆栈跟踪? –