django 和 dropzone 如何 post 形式

django and dropzone how to post form

我已经了解了 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 中创建的表单来上传文件。在教程中也没有使用表格。为什么会这样,没有表单如何提交表单,因为视图需要表单。

谁能帮帮我?

在:

Dropzone.options.myDropzone = {
....

实际上 myDropzone 是 HTML 元素 ID 的驼峰版本。

所以 id 的形式必须是 my_dropzone 而不是 add-multiple:

<form id="my_dropzone" class="dropzone" action...