Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django CSRF验证_Django_Csrf_Django Csrf - Fatal编程技术网

django CSRF验证

django CSRF验证,django,csrf,django-csrf,Django,Csrf,Django Csrf,我无法绕过CSRF令牌验证403错误。 以下是我所拥有的: 视图: 模板: <form action="/category/add/" method="post"> {% csrf_token %} New Category: <input type="text" name="name" id="categoryname" /> <input type="submit" value="Hinzufuegen" /> </form&

我无法绕过CSRF令牌验证403错误。 以下是我所拥有的:

视图:

模板:

<form action="/category/add/" method="post">
    {% csrf_token %}
    New Category: <input type="text" name="name" id="categoryname" />
    <input type="submit" value="Hinzufuegen" />
</form>

是否将POST数据传递给表单进行验证?你必须这样做:

     from django.template import RequestContext
     def add(request, name):
       # Logic
       if request.type == "POST":
         form = YourFormClass(request.POST)
         if form.is_valid():
             # Success!
         else:
             # Invalid form
       else:
         return render_to_response("category/add.html", {"form": form}, 
         context_instance = RequestContext(request))

似乎你需要补充

'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',
到您的中间件类。似乎不是验证CSRF令牌,只是生成。。。
帮助我…

不建议使用CSRFResponseMiddle软件,因为它会对性能造成影响,并且存在潜在的安全问题(请参见下文)。在应用程序更新为使用csrf_令牌标记之前,它可以用作临时措施。它已弃用,将在Django 1.4中删除。
     from django.template import RequestContext
     def add(request, name):
       # Logic
       if request.type == "POST":
         form = YourFormClass(request.POST)
         if form.is_valid():
             # Success!
         else:
             # Invalid form
       else:
         return render_to_response("category/add.html", {"form": form}, 
         context_instance = RequestContext(request))
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',