[英]Django simplest way to save file to folder on disk without using a model
我正试图将上传中的文件直接保存到我的文件夹媒体/文件中,完全如本主题所述 。
这是我的表单代码:
from django import forms
class UploadForm(forms.Form):
title=forms.CharField(max_length=50)
file=forms.FileField()
这是我的查看代码:
def uploadview(request):
if request.method == 'POST':
form=UploadForm(request.POST, request.FILES)
if form.is_valid() and request.FILES['file']:
uploaded_filename=request.FILES['file'].name
full_filename=os.path.join('media', 'files', uploaded_filename)
fout=open(full_filename, 'wb+')
file_content=ContentFile(request.FILES['file'].read())
for chunk in file_content.chunks():
fout.write(chunk)
fout.close()
return HttpResponseRedirect('/App/')
else:
form=UploadForm()
return render(request, 'App/uploads.html', {'form':form})
我没有任何错误,只是重定向到/ App /页面,并且没有文件下载。 我的目标是无法像使用此简单命令在PHP中那样在磁盘上完成文件。
move_uploaded_file(($_FILES["filetoupload"]["tmp_name"]), $target_file)
请记住以如下形式设置enctype:
enctype="multipart/form-data"
如果我尝试上传文件却看不到它,但是没有收到任何错误,通常这就是我所忘记的。
django中的文件上传有很好的参考:
https://simpleisbetterthancomplex.com/tutorial/2016/08/01/how-to-upload-files-with-django.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.