django和dropzone如何发表表格

时间:2015-03-24 18:32:24

标签: python html django forms dropzone.js

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

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

在:

Dropzone.options.myDropzone = {
....

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

因此表单 id 必须为my_dropzone而不是add-multiple

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