解决django出现CSRF token missing or incorrect.错误

时间:2022-08-24 04:49:29
  1. 给template中的每个POST form添加{% csrf_token %}标签。

<form action="/contact/" method="post">
    {% csrf_token %}
    <p>Subject: <input type="text" name="subject"></p>
    <p>Your e-mail (optional): <input type="text" name="email"></p>
    <p>Message: <textarea name="message" rows="10" cols="50"></textarea></p>
    <input type="submit" value="Submit">
</form>

2.在view中,render_to_response,默认使用Context,需改成RequestContext。

return render_to_response('contact_form.html',{'errors': errors},context_instance=RequestContext(request))

3.在settings的MIDDLEWARE_CLASSES中添加django.middleware.csrf.CsrfViewMiddleware。

4.清除浏览器缓存,重新发送请求。