SWFUpload 与 Django 1.2 csrf 问题
我正在尝试使用 SWFUpload 将文件上传到 Django。找到这篇文章Django with SWFUpload。但发现一个问题。在 Django 1.2 中,csrf 需要在每次表单提交时发送 csrf 令牌,并且它包括使用 SWFUpload 发送的文件。因此,直到我关闭 csrf (全局或使用 @csrf_exempt 装饰器进行视图)之前,上传不会。有没有比关闭 csrf 更好的方法来处理这个问题?
我知道我可以使用 SWFUpload post_params: {"csrfmiddlewaretoken" : ""}, 传递自定义数据。但我不知道如何仅获取模板中 csrf 令牌的值,而不是完整的输入标签。
I`m trying to upload files to Django with SWFUpload. Found this article Django with SWFUpload. But found one problem. In Django 1.2 a csrf requires a csrf token to be send on every form submit, and it includes files that are send with SWFUpload.So uploading doesnt until i turn off csrf ( globally or for view using @csrf_exempt decorator). Is there a better way to handle this rather than turning off csrf?
I know that i can pass custom data with SWFUpload post_params: {"csrfmiddlewaretoken" : ""},. But i don`t know how to get only value of csrf token in template, not a full input tag.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要检索 csrf 令牌本身,您需要使用 Django 的一些内部功能。首先,将此行包含在视图的顶部。
现在,当将参数传递到模板时,请执行类似
在模板中,只需使用
{{ csrf_token }}
引用令牌。To retrieve the csrf token itself, you'll need to resort to using some of Django's internals. First off, include this line at the top of your view.
Now, when passing parameters to your template, do something like
In your template, just reference the token with
{{ csrf_token }}
.