繁体   English   中英

Django最简单的方法,无需使用模型即可将文件保存到磁盘上的文件夹

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM