我经历了django和dropzone。我在django中实现了dropzone的拖放功能。 我的模板看起来像:
<form id="add-multiple" class="dropzone" action="{% url "name_add" %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
</form>
<button id="submit-all" type="submit" value="Submit" form="add-multiple">
Submit all files
</button>
<script src="{% static 'js/dropzone.js' %}"></script>
<script type="text/javascript">
Dropzone.options.myDropzone = {
// Prevents Dropzone from uploading dropped files immediately
autoProcessQueue : false,
paramName: "files",
init : function() {
var submitButton = document.querySelector("#submit-all")
myDropzone = this;
submitButton.addEventListener("click", function() {
myDropzone.processQueue();
// Tell Dropzone to process all queued files.
});
// You might want to show the submit button only when
// files are dropped here:
this.on("addedfile", function() {
// Show submit button here and/or inform user to click it.
});
}
};
</script>
这里我得到了css并完美上传但是当我提交它时不要调用{% url "name_add" %}
url我的意思是表单没有发布而且不会调用该url。
我按照本教程https://amatellanes.wordpress.com/2013/11/05/dropzonejs-django-how-to-build-a-file-upload-form/来实现这一目标。
首先,我的表单没有发布或说它没有在表单操作中调用url。其次,我没有使用我在forms.py中创建的表单来上传文件。在教程中也没有使用表单。为什么这样,如果没有形式,可以提交表格,因为视图需要表格。
任何人都可以帮助我吗?
答案 0 :(得分:3)
在:
Dropzone.options.myDropzone = {
....
实际上myDropzone
是HTML元素ID的驼峰版本。
因此表单 id 必须为my_dropzone
而不是add-multiple
:
<form id="my_dropzone" class="dropzone" action...