我想使用YUI上传器将文件上传到Django视图。发送Django CSRF Cookie与YUI上传器请求
但是,我在CsrfViewMiddleware中收到403错误。我已经确定问题是由于Flash上传程序(即YUI上传程序使用的)未在文件上载请求中发送CSRF cookie。
YUI上传器的uploadAll()函数允许以对象形式与上传请求一起发送附加数据。由于CSRF cookie可以很容易地检索到,因此我试图通过uploadAll()函数将cookie添加到请求中,但我不完全确定发送它的格式是什么,以便CsrfViewMiddleware可以找到它期望的cookie 。这不起作用:
var cookie = YAHOO.util.Cookie.get('csrftoken'); uploader.uploadAll(url, 'POST', { csrfmiddlewaretoken: cookie });
任何有识之士将不胜感激!
你说得对。我最终通过引入层固定它的中间件在使用正确的cookie到达CSRF中间件之前手动更新请求对象。 – Derek 2010-06-24 22:35:37