python - django 和 dropzone 如何发布表单

标签 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。我的意思是,该表单未发布,也不会调用该网址。

我遵循了本教程 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/

相关文章:

python - OTP 验证时 JWT token 不匹配

javascript - form.serialize() 发送空对象 - Django 表单

android - 仅在 Android Gmail 中的电子邮件中出现空白。我该如何解决这个问题?

html - 如何减少 vscode 中编辑器文件的宽度,这样我就不必向右滚动到达段落末尾

javascript - 将渲染的数据属性传递给 Angular

python - 使用参数访问基于类的装饰器的属性

python - 如何让 python 模块异步运行并接收来自其他模块的调用?

python - 使用 casefold() 时,出现错误,因为 "AttributeError: ' str' 对象没有属性 'casefold'“

python - ANSI 图形代码和 Python

python - 基本 Django 搜索实现