Sto implementando django-ajax-uploader in un progetto, ma voglio usare l'ultima versione di fineuploader che è attualmente sotto 3.5.0, presumibilmente, la documentazione dice che l'unica cosa che devo fare per inviare csrf_token sta mettendo dentro dizionario customHeaders:django-ajax-uploader come inviare csrf_token con fine-uploader 3.5.0
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 }}', },
Ecco il mio codice completo:
...
<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 %}
Nel mio views.py
ho: qq_file_uploader = AjaxFileUploader()
E ogni volta che cerco di caricare qualsiasi file all'interno della vista ho ottenuto un errore 403: CSRF verification failed. Request aborted.
L'ho fatto, sta funzionando proprio ora, grazie per avermi aiutato, tu sei il miglior –
"params" non è corretto. È "CustomHeaders" come nella risposta di Ray. – Joel