我知道创建登录用户身份验证是基本的 . 我是使用Django的新手 .
我在创建用户身份验证时遇到问题:
Views.py
def Logins(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None and user.is_active:
login(request, user)
return HttpResponseRedirect('music/login')
return HttpResponseRedirect('music/login')
form = Userlogin
return render(request, 'music/login.html', {'Login_form': Userlogin})
urls.py url(r'^ login / $',views.Logins,name ='login'),
它显示It shows MultiValueDictKeyError at /music/login/. "'username'"请求方法:POST请求URL:http://127.0.0.1:8000/music/login/ Django版本:1.10.4异常类型:MultiValueDictKeyError异常值:
"'username'"
的login.html
{% block body %}
{% if form.errors %}
<p>Something is wrong</p>
{% endif %}
<form action="" method="post">
{% csrf_token %}
<label for="email">Login:</label>
<label for="password">Password:</label>
<input type="password" name="password" value="" id="username">
<input type="submit" value="login" />
</form>
{% endblock %}
提前致谢 .
2 回答
MultiValueDictKeyError
似乎是因为request.POST['username']
不存在 .在登录表单中添加用户名字段 .
request.POST
是一本字典 . 你应该这样做: