2017-11-18 1 views
0

jQuery File Upload Plugin을 사용하여 장고 앱에 파일 업로드 기능을 통합하려고합니다.이 파일은 here입니다. 지금, 나는 이미 그런 템플릿의 입력 태그로 csrf token를 부착하고있다 :jquery-fileupload 호출에 여분의 데이터를 추가 할 수 없습니다.

<input id="fileupload" type="file" name="document" multiple 
       style="display: none;" 
       data-url="{% url 'upload' %}" 
       data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}"}'> 

그러나, 나중에 JS 파일에 내가이 양식에 몇 가지 추가 정보를 추가하고 싶습니다. 그림과 같이 제안 된 방법은 formData를 사용하여 해당 작업을 수행하는 것입니다

$("#fileupload").fileupload({ 
    dataType: 'json', 
    formData: {employee_id: get_selected_employee()}, 
    done: function (e, data) { 
     } 
    } 
}); 

그러나,이 새로운 데이터 이미 템플릿에서 생성 csrf_token이 포함되어 formData에을 추가되지 않습니다.

.fileupload에 csrf 토큰과 employee_id를 추가하려고하면 csrf 토큰이 유효한 것으로 보이지만 403 (CSRF token missing or incorrect)이 표시됩니다. 동적으로 변경 될 때 employee_id를 템플릿에 추가 할 수 없습니다. 누구든지 어떤 생각을 가지고 있습니까?

+0

동일한 문제가 있는데 해결책을 찾았습니까? 고맙습니다! – Sim81

답변

0

나는 동적으로 data-form-data에 데이터를 추가, 그래서 그런 것을 보았다 : 따라서 Dropzone로 전환하기로 결정, 나는 jQuery File Upload 여러 다른 문제가 있었다, 그러나

data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}", "employee_id": "<employee_id>"}' 

을, 그것을 설정하는 나에게 3 시간 걸렸다 나는 3 일 동안 jQuery File Upload을 통합하려고 노력하는 동안 모든 것을 다 처리했습니다.

관련 문제