我试图将文件从上传文件直接保存到我的文件夹媒体/文件,完全按照thread中的说明进行。
这是我的表单代码:
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)
答案 0 :(得分:1)
请记住在表单中设置enctype,例如:
enctype="multipart/form-data"
如果我尝试上传文件并且没有看到它,通常会忘记这一点,但不会出现任何错误。
这里有一个很好的django文件上传参考:
https://simpleisbetterthancomplex.com/tutorial/2016/08/01/how-to-upload-files-with-django.html