Django: CSRF verification failed. Request aborted.

在使用 DjangoPOST 时, 报错如下:

Django: CSRF verification failed. Request aborted._第1张图片

一开始蒙了,后来仔细读出错页面的要求,主要是以下几点

  • 浏览器开启cookies
  • views.py 也就是视图函数里面用 RequestContext 而不是Context
  • 在模板.html 里面 的 <form>...</form> 中加上{% csrf_token %}
  • 中间件django.middleware.csrf.CsrfViewMiddleware', 是不是被注释了,默认开放。

Django 1.4view.py 使用RequestContext 如下:

render_to_response('contact_form.html',locals(),context_instance=RequestContext(request))

然后修改模板,在Post 的 form 标签内加,如下:

 <form action="/contact/" method="post"> {% csrf_token %} <p>Subject: <input type="text" name="subject"></p> <p>Your E-mail: <input type="text" name="email"></p> <input type ="submit" value="Submit"> </form>

再刷新页面,正常运行。

你可能感兴趣的:(django)