我已经浏览过 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。我的意思是,该表单未发布,也不会调用该网址。
我遵循了本教程 https://amatellanes.wordpress.com/2013/11/05/dropzonejs-django-how-to-build-a-file-upload-form/来实现这一目标。
首先,我的表单没有被发布,或者它说它没有在表单操作中调用 url。其次,我在 forms.py 中创建的表单没有任何用途来上传文件。在教程中也没有使用表单。为什么会这样,没有表单如何提交表单,因为 View 需要表单。
有人可以帮助我吗?
最佳答案
在:
Dropzone.options.myDropzone = {
....
实际上 myDropzone
是 HTML 元素 ID 的驼峰版本。
因此表单 id 必须是 my_dropzone
而不是 add-multiple
:
<form id="my_dropzone" class="dropzone" action...
关于python - django 和 dropzone 如何发布表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240246/