我正在处理django身份验证请求,我得到了禁止的错误,我检查了我的代码,但似乎没有错误。
HTML
<div class="grad"></div>
<div class="header">
<div>MLAT<span>SI</span></div>
</div>
<form action="{{views.login_user}}" method="POST">{% csrf_token %}
<div class="login">
<img src="{% static "img/Airplane.png" %}">
<div id="h" class="home">
<input type="text" placeholder="Login" name="username" value="">
<input type="password" placeholder="Mot de passe" name="password" value="">
<input style="float: left; width: 173px" type="submit" value="Log in" >
<input formaction="/form_registration.html/" style="float: right; width: 173px" type="submit" value="Register">
views.py
def login_user(request):
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 HttpResponse("You're logged in.")
else:
return HttpResponse("Your username and password didn't match.")
发布于 2019-05-21 05:08:57
您似乎在导入包中遇到了问题。而且您调用视图的方式是不正确的,您应该仔细阅读Django文档
发布于 2015-05-20 01:00:20
看起来像Django - {% csrf_token %} was used in a template, but the context did not provide the value的副本
基本上,您的login_user
视图没有使用任何呈现/上下文,因此出现了错误(我不知道这是否与调用登录url时调用的视图相同)。所以Django可以看到csrf_token,但永远不会将其转换为实际的tok值。
from django.shortcuts import render
但实际上,您的表单和视图看起来都非常错误。表单操作{{ views.login_user }}不正确。您不能以这种方式调用视图。然后你的注册按钮就会转到一个看起来像HTML的页面。
https://stackoverflow.com/questions/30322490
复制相似问题