2014-10-09 104 views
-1

请不要严格评判我。我是Django的初学者。这是我的问题:我有一个注册表格。当我按下“提交”按钮时,这是CSRF错误。我试图调试它,但我不明白为什么条件if request.method == 'POST'是不正确的? 这里是我的观点方法:CSRF验证失败。请求中止(Django总共初学者)

def Logging(request): 
    if request.method == 'POST': 
     form = Login_Form(request.POST) 

     if form.is_valid(): 
      return HttpResponseRedirect('thanks.html') 
    else: 
     form = Login_Form() 

    return render_to_response('login.html', {'form':form}) 

和我的形式:

<form method = "post"> 
    <table> 
    {{form.as_table}} 
    <input type = "submit" value="Login"> 
     </table> 
</form> 

和网址:

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^login/', views.Logging), 
    url(r'^thanks/', 'thanks.html') 
) 
+2

不要认为你是新手,而是因为失败寻找过去曾经提出过的许多问题;以及未能阅读非常明确的错误信息,这些信息确切地告诉你你错过了什么。 – 2014-10-09 22:10:48

回答

0

添加{%csrf_token%}表单标签内

<form method = "post"> 
    {% csrf_token %} 
    <table> 
    {{form.as_table}} 
    <input type = "submit" value="Login"> 
    </table> 
</form> 
+0

它不工作 – user3444106 2014-10-09 22:07:06

+0

您的看法:返回render_to_response('login.html',{'form':form}) – 2014-10-09 22:10:12

+0

并添加导入:**从django.shortcuts导入渲染** – 2014-10-09 22:16:59

相关问题