70|---req.open("POST",preurl,true);
71|---req.setRequestHeader("X-Requested-With","XMLHttpRequest");
72|---req.setRequestHeader("X-CSRFToken",getCookie("csrftoken"));
######这个我查过了。我前面说了cookie被我清空了,之后无论怎么重启server,都没有在cookie中找到csrftoken这个cookie。######
找到解决方案了:
from
django.core.context_processors
import
csrf
from
django.shortcuts
import
render_to_response
def
my_view
(
request
):
c
=
{}
c
.
update
(
csrf
(
request
))
#...viewcodehere
return
render_to_response
(
"a_template.html"
,
c
)
然后在页面中使用{%csrf_token%}获得这个值。
但是我查看了django的源码,对于它什么时候将这个token写入cookie的那段还是不太清除,有知道的请解释下,谢谢!
######
settings.py
151MIDDLEWARE_CLASSES=(
156|---'django.middleware.csrf.CsrfViewMiddleware',
######设置了。刚试了下,在template中调用view中传过来的{%csrf_token%}之后cookie中就生成了一个csrf_token。:)