gpt4 book ai didi

ajax - django-ajax-uploader 如何使用 Fine-uploader 3.5.0 发送 csrf_token

转载 作者:行者123 更新时间:2023-12-04 18:45:00 25 4
gpt4 key购买 nike

我正在一个项目中实现 django-ajax-uploader,但我想使用目前低于 3.5.0 的最新版本的fineuploader,据说,因为文档说我唯一应该做的发送 csrf_token 就是把它放在 customHeaders 字典中:

If you want to use the latest version of Fine Uploader, as valum's file-uploader is now called, instead of the one bundled with django-ajax-uploader, you can do so by replacing the params arguments in the above template with the following customHeaders:

customHeaders: { 'X-CSRFToken': '{{ csrf_token }}', },



这是我的完整代码:
...    
<h1>qq-file-uploader</h1>
<div id="upload-button" class="btn btn-primary"><i class="icon icon-cloud-upload icon-white"></i> Selecciona un archivo</div>
<div id="file-upload"></div>
</form>
{% endblock %}

{% block styles %}
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}js/libs/jquery.fineuploader-3.5.0/fineuploader-3.5.0.css"/>
{% endblock %}

{% block javascript %}
<script type="text/javascript" src="{{ STATIC_URL }}js/libs/jquery.fineuploader-3.5.0/jquery.fineuploader-3.5.0.min.js"></script>
<script type="text/javascript">
$(function(){
$('div#file-upload').fineUploader({
customHeaders: {
'X-CSRFToken': '{{ csrf_token }}'
},
request: {
endpoint: '{% url 'documents:qq_file_uploader' %}'
},
button: $('div#upload-button'),
multiple: false,
});
});
</script>
{% endblock %}

在我的 views.py我有: qq_file_uploader = AjaxFileUploader()
每次我尝试在 View 中上传任何文件时,我都会收到 403 错误: CSRF verification failed. Request aborted.

最佳答案

使用 request.params 设置 token 并通过 POST 发送。

...
request: {
endpoint: '{% url 'documents:qq_file_uploader' %}',
params: {
'csrfmiddlewaretoken': '{{ csrf_token }}'
}
},
...

关于ajax - django-ajax-uploader 如何使用 Fine-uploader 3.5.0 发送 csrf_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16340575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com