先说明,我的django版本为1.4
my_data_dictionary,
context_instance=RequestContext(request))
'foo': 'bar',
}, [ip_address_processor])
return HttpResponse(t.render(c))
{% csrf_token %}
<p>Subject: <input type="text" name="subject" /></p>
<p>Your e-main (optional): <input type="text" name="email" /></p>
<p>Message: <textarea name="message" rows="10" cols="50"></textarea></p>
<input type="submit" value="Submit" />
解决方法,一共三步,在debug错误信息里面已经指出:
1.使用requestcontext
from django.template import RequestContext
…
…
return render_to_response('my_template.html',
或:
c = RequestContext(request, {
2.使用在post表单中使用{% csrf_token %}标签
<form action="/contact/" method="post">
</form>
3.setting.py中加入'django.middleware.csrf.CsrfViewMiddleware',
注:浏览器需要接受cookies,第三步如果不执行,则需要在post表单对应视图头部加入@csrf_protect