时间:2021-05-23
Django上传文件最简单最官方的方法
1.配置media路径
在settings.py中添加如下代码:
MEDIA_ROOT=os.path.join(BASE_DIR,'media')2.定义数据表
importosfromdjango.dbimportmodelsfromdjango.utils.timezoneimportnowastimezone_nowdefupload_to(instance,filename):now=timezone_now()base,ext=os.path.splitext(filename)ext=ext.lower()returnf'quotes/{now:%Y/%m/%Y%m%d%H%M%S}{ext}'classQuote(models.Model):classMeta:verbose_name='quote'verbose_name_plural=verbose_nameauthor=models.CharField('author',max_length=200)quote=models.TextField('quote')picture=models.ImageField('picture',upload_to=upload_to,blank=True,null=True)def__str__(self):returnself.quote这里的upload_to函数会自动把文件的名称修改为日期型的名称,不会重名。
相关推荐:《Python视频教程》
3.添加form表单
forms.py文件
fromdjangoimportformsfrom.modelsimportQuoteclassQuoteForm(forms.ModelForm):classMeta:model=Quotefields='__all__'4.编写视图代码
fromdjango.shortcutsimportrender,redirectfrom.formsimportQuoteFormdefadd_quote(request):form=QuoteForm()ifrequest.method=='POST':form=QuoteForm(data=request.POST,files=request.FILES)ifform.is_valid():form.save()returnredirect('quote:add_quote')else:returnrender(request,'quotes/add_quote.html',{'form':form})5.编写模板html代码
<formaction="{%url'quote:add_quote'%}"method="post"enctype="multipart/form-data">{%csrf_token%}{{form.as_p}}<buttontype="submit">save</button></form>6.添加url映射
在app的目录的urls.py添加fromdjango.urlsimportpathfromquotes.viewsimportadd_quoteapp_name='quote'urlpatterns=[path('add/',add_quote,name='add_quote')]在项目目录的urls.py文件添加
fromdjango.urlsimportpath,includeurlpatterns=[path('quotes/',include('quotes.urls',namespace='quote'))]效果图
知识点扩展:
最简单的文件下载功能的实现
将文件流放入HttpResponse对象即可,如
def file_download(request): # do something... with open('file_name.txt') as f: c = f.read() return HttpResponse(c)到此这篇关于python中Django文件上传方法详解的文章就介绍到这了,更多相关Django文件上传方法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Django2.0通过URL访问上传的文件(pdf、picture等)Django是一个成熟的web框架,基于python实现,有很多的优点,很容易快速上手(详
Django中上传文件方式。如何实现文件上传功能?1创建项目uploadfile:创建app:front项目设置INSTALLED_APPS中添加'front'
准备:Django的环境(Python)、Apache、Wsgi(必须文件)首先需要电脑有Python基础下并且安装好Django的环境,下载Apache文件和
Django有提供文件系统支持,在Admin站点中可以轻松上传图片。使用Admin站点保存图片,需要安装Python的图片操作包pipinstallPillow
在Web应用程序开发中,文件上传与下载功能是非常常用的功能,下面通过本文给大家介绍JavaWeb实现文件上传与下载实例详解。对于文件上传,浏览器在上传的过程中是