当我单击“提交”时,显示的是csrf验证失败事件,尽管我使用了{%csrftoken%} 这是我的视图.py公司名称:
@csrf_protect
def register(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
user = User.objects.create_user(
username=form.cleaned_data['username'],
password=form.cleaned_data['password1'],
email=form.cleaned_data['email']
)
return HttpResponseRedirect('/login/')
else:
form = RegistrationForm()
catagories = Company_Profile.objects.all()
variables = RequestContext(request, {
'form': form,'catagories' : catagories
})
return render_to_response(
'index1.html',
variables
)
我的html页面index1.html s:
^{pr2}$我没有用表格as\p因为我需要单独应用css。。 请帮帮我
编辑: 我知道答案了 实际的问题是我有硬编码的csrf,即 在
所以去掉它,它工作得很好。感谢@Daniel Roseman,他注意到了我的这一点,并感谢所有帮助我的人。在
您应该将
RequestContext
作为render_to_response()
的第三个参数传递:或者,作为更好的选择,使用
^{pr2}$render()
函数而不是render_to_response()
:您需要移动{%csrf\\u token%}标记-将其放入表单中。另外,如果您使用django.middleware.csrf.CsrfViewMiddleware,您不必手动csrf_保护您的视图。在
对于上下文实例,请尝试这样做:
相关问题 更多 >
编程相关推荐