django - 在 Django 视图中接收 dropzone 文件
问题描述
谁能帮我在 Django 的函数视图中接收 dropzone 输入?我在我的 dropzone 模板中编写了这段代码:
index.html
:
<form method="post" action="{% url 'index' %}" enctype="multipart/form-data" class="dropzone" id="myDropzone" >
{% csrf_token %}
</form>
和URLs.py
:
url('^$', views.UI_index, name='index'),
并在views.py
我按功能收到发布的文件 UI_index
:
def UI_index(request):
file_upload_message=''
if request.method=='post':
f = request.FILES['file']
file_upload_message='the file is received!'
return render(
request,
'cta_UI/index.html',
{'file_upload_message':file_upload_message},
)
在index.html
我收到file_upload_message
like的值{{file_upload_message}}
但它似乎无法正常工作,似乎条件if request.method=='post'
不起作用,那么我如何将上传的文件发布到视图?当 post 方法在 dropzone 中完全执行时?虽然这不是我真正的项目,但这是接收文件的第一步......请帮助我。谢谢。
解决方案
您可以尝试以下代码
def UI_index(request):
if request.method=='POST':
up_file = request.FILES['file']
if up_file:
destination = open('/tmp/' + up_file.name, 'wb+')
for chunk in up_file.chunks():
destination.write(chunk)
destination.close()
file_upload_message='the file is received!'
else:
file_upload_message='the file is missing!'
return render(request,'cta_UI/index.html',
{'file_upload_message':file_upload_message},)
推荐阅读
- javascript - 我的应用程序在奥利奥上崩溃。说应用程序再次停止打开应用程序
- java - org.springframework.web.servlet.PageNotFound noHandlerFound 在 spring mvc
- css - 浮动元素未清除到文档流中的新行
- java - 创建新的 MIDI 事件
- cordova - Ionic build android 因插件错误而失败
- python - ValueError:无法为具有形状“(1, 2)”的张量“Placeholder:0”提供形状 (2,) 的值
- javascript - *.d.ts 文件来自哪里?
- javafx-8 - JavaScript 方法 window.open() 没有在我的 JavaFX 浏览器中打开新窗口
- python - 通过聚类分析能源数据集
- javascript - 传递给函数的参数不起作用