我是Django的新手,我正在尝试使用dropzone.js实现拖放文件上传。我跟着本教程开始。Dropzone正在正常工作,文件被正确地上传和存储,我的问题是定制了dropzone实例。我创建了第二个javascript文件来创建自定义的下拉区域,就像教程显示的那样,并将其包含到django模板中。但是由于某些原因,这不会改变任何东西,不管有没有定制的javascript文件,下拉区域看起来都是一样的。
javascript文件:
Dropzone.autoDiscovery = false;
const dropzone = new Dropzone("#drop", {
dictDefaultMessage = "Upload your PDF here",
clickable: false,
url: "/upload",
maxFiles: 1,
acceptedFiles: ".pdf",
});我试图将脚本包含到django模板文件中:
{% load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PDF2Notes</title>
</head>
<body>
<form method="POST" action="/upload" class="dropzone dz" id="drop">
{% csrf_token %}
<div class="fallback">
<input name="file" type="file">
</div>
</form>
<!--default stylesheet-->
<link rel="stylesheet" type="text/css" href="{% static 'converter/style.css' %}">
<script type="text/javascript" src="{% static 'converter/main.js' %}"></script>
<!--dropzone js & css-->
<link rel="stylesheet" tpye="text/css" href="{% static 'converter/dropzone/dist/dropzone.css' %}">
<script type="text/javascript" src="{% static 'converter/dropzone/dist/dropzone.js' %}"></script>
</body>
</html>我的静态文件目录是正确设置的,所有其他静态文件都没有问题地加载,并且从命令提示符[15/Jan/2021 15:17:16] "GET /static/converter/main.js HTTP/1.1" 304 0中我可以看到找到了该文件,因为304代表Not Modified。
因为我不知道任何javascript,所以我不确定我是否在javascript文件中犯了错误,或者它是否是一个更深层次的问题。任何帮助都是非常感谢的。
发布于 2021-01-15 17:03:05
好的,我发现了我的错误,这是由人为错误引起的快速修复。
Dropzone.autoDiscover = false;拼错为Dropzone.autoDiscovery = false;=而不是:在main.js的after dictDefaultMessage中最终main.js:
var myDropzone = new Dropzone("#drop", {
dictDefaultMessage: "Upload your PDF here",
clickable: false,
url: "/upload",
maxFiles: 1,
acceptedFiles: ".pdf",
});Django最终模板:
{% load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PDF2Notes</title>
</head>
<body>
<form method="POST" action="/upload" class="dropzone dz" id="drop">
{% csrf_token %}
<div class="fallback">
<input name="file" type="file">
</div>
</form>
<!--dropzone js & css-->
<link rel="stylesheet" type="text/css" href="{% static 'converter/dropzone/dist/dropzone.css' %}">
<script type="text/javascript" src="{% static 'converter/dropzone/dist/dropzone.js' %}"></script>
<!--default stylesheet-->
<link rel="stylesheet" type="text/css" href="{% static 'converter/style.css' %}">
<script type="text/javascript" src="{% static 'converter/main.js' %}"></script>
</body>
</html>发布于 2021-01-15 15:33:40
您需要在main.js之前加载下拉区域文件,因为main.js要求dropzone成员存在。
https://stackoverflow.com/questions/65738907
复制相似问题