有人可以帮助我在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
的值,就像{{file_upload_message}}
一样,但是它似乎无法正常工作,似乎if request.method=='post'
的条件不正常工作,然后如何将展开的文件发布到视图?什么时候后投篮法是完全在dropzone中执行的?
虽然这不是我真正的项目,但这是在视图中接收文件的第一步……请帮助我。
谢谢。
答案 0 :(得分:0)
您可以尝试使用以下代码
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},)