解决办法:
在django1.4里,就必须按照提示的步骤来:
1,在view里面,强制使用RequestContext 代替
Context。示例如下:
from django.template import RequestContext
视图返回要这样:
return render_to_response('index.html', {
'param1': 'aaa',
'param2': 'bbb',
},
context_instance=RequestContext(request) # here!
)
2,在模板的form体里面,加入 {% csrf_token %}
,示例如下:
<form action="login.html" method="post" >
{% csrf_token %}
……
</form>
最后检查一下中间件里'django.middleware.csrf.CsrfViewMiddleware',是否正常开放。默认是直接开着的。
-------------------
注意,在Django 1.2(含1.2) 之前,解决办法是
在settings的中间件设置里MIDDLEWARE_CLASSES加入:
'django.middleware.csrf.CsrfResponseMiddleware',