【发布时间】:2019-09-20 08:37:44
【问题描述】:
我正在使用 Django 开发网站,我想使用 HTML 模板中的 dropzone 框上传文件,然后将其发送到视图函数并在文件成功上传时发送一些消息 这是 HTML 模板中的代码(inputFile_pannel.html):
<p>{{mess}}</p>
<form action="{% url 'upload_file' %}" enctype="multipart/form-data" class="dropzone" id="myDropzone" >
{% csrf_token %}
</form>
这是视图函数(uplosd_file):
@login_required
def upload_file(request):
uploaded_file_url=''
mess=''
if request.method == 'POST' and request.FILES['file']:
myfile = request.FILES['file']
fs = FileSystemStorage()
filename = fs.save(myfile.name, myfile)
uploaded_file_url = fs.url(filename)
mess='The file is uploade successfully, you can check the status in your pannel'
return render(request, 'app/inputFile_pannel.html', {
'mess':mess
})
return render(request, 'app/inputFile_pannel.html', {
'mess':mess
})
但是message变量没有出现在网页上,有人能说一下是什么问题吗?
【问题讨论】:
-
似乎您的 if 语句没有正确触发。你确定if里面的代码在运行吗?
-
是的,它正在运行,因为文件已上传并保存在路径中
-
即使我尝试将页面重定向到另一个网页,如果语句运行为 true 但它不起作用:( 文件已正确上传,但块的其余部分不起作用
-
我真的很困惑,这可能是因为 dropzone 选项,而回发导致了这个问题,有人知道吗?
-
那么如果你将
mess=''更改为mess='something',模板中会出现“某事”吗?
标签: django dropzone.js