Django CSRF cookie未设置。卡住
问题描述:
我正在学习Django和我为此购买了一本书。我尝试使用方法=“post”为表单创建连接系统。当我提交的CSRF cookie没有设置等...我在论坛上看到很多类似的问题,但仍然有点卡住,因为我不明白所有的答案,我还没有找到一些工作,例外@csrf_exempt但我看到它就像禁用了这些东西,这不是一个好主意。下面的代码:Django CSRF cookie未设置。卡住
我的HTML页面的login.html:
<form action="." method="post">{% csrf_token %}
{% if error %}
<p class="error">{{ error }}</p>
{% endif %}
<p>
<label for="email">E-mail :</label>
<input name="email" id="email" size="30" type="email" />
</p>
<p>
<label for="password">Password :</label>
<input name="password" id="password" size="30" type="password" />
</p>
<p>
<input type="submit" value="Log-in" />
<a href="">Créer un compte</a>
</p>
我views.py:
from django.shortcuts import render_to_response
from datetime import datetime
from django.views.decorators.csrf import csrf_protect
from django.http.response import HttpResponseRedirect
# from django.http import HttpResponseRedirect
def welcome(request):
return render_to_response('welcome.html',
{'curent_date_time' : datetime.now})
@csrf_protect
def login(request):
if len(request.POST) > 0:
if 'email' not in request.POST or 'password' not in request.POST:
error = "Veuillez entrer un adresse mail et un mot de passe."
return render_to_response('login.html', {'error': error})
else:
email = request.POST['email']
password = request.POST['password']
if password != 'sesame' or email != '[email protected]':
error = "Adresse de couriel ou mot de passe errone."
return render_to_response('login.html', {'error': error})
else:
return HttpResponseRedirect('welcome/')
else:
return render_to_response('login.html')
如果需要的话我还可以显示我的设置。和一个错误messahe的屏幕如果它可以帮助太。
P.S:我知道这里已经有很多东西了,但是我被困住了,一些个人帮助对我来说很好理解它来自何处。
不确定它是否相关,但在代码中没有看到“”。 – roganjosh
他是我忘记选择它时,我复制了代码 – SamHel