django之上传文件
使用环境同上篇django文章。
在django中上传文件,添加上传页面:
安装pillow:
]#cdpy3/django-test1/test5]#pipinstallpillow==3.4.1
如果此前安装过别的版本,也无所谓,执行此命令后会直接覆盖。
在settings.py文件中配置添加media目录:
]#vimtest5/settings.py...MEDIA_ROOT=os.path.join(BASE_DIR,'static/upload/')
创建上传目录:
]#mkdirstatic/upload
创建上传的view视图函数:
]#vimbookshop/views.pyimportosfromdjango.shortcutsimportrenderfromdjango.httpimportHttpResponsefromdjango.confimportsettingsdefindex(request):returnrender(request,'bookshop/index.html')defmyExp(request):a1=int('abc')returnHttpResponse('hello_world')defuploadPhoto(request):returnrender(request,'bookshop/uploadphoto.html')defuploadHandle(request):pic1=request.FILES['photo1']picName=os.path.join(settings.MEDIA_ROOT,pic1.name)#returnHttpResponse(picName)withopen(picName,'wb')asf:forpinpic1.chunks():f.write(p)returnHttpResponse('<imgsrc="/static/upload/%s"/>'%pic1.name)
创建上传的html模板文件:
]#vimtemplates/bookshop/uploadphoto.html<!DOCTYPEhtml><html><head><title>Title</title></head><body><formaction="/uploadHandle"method="post"enctype="multipart/form-data">{%csrf_token%}<inputtype="file"name="photo1"><br><inputtype="submit"value="上传"></form></body></html>
添加url:
]#vimbookshop/urls.pyfromdjango.conf.urlsimporturlfrom.importviewsurlpatterns=[url(r'^$',views.index),url(r'^myexp$',views.myExp),url(r'^uploadphoto$',views.uploadPhoto),url(r'^uploadHandle$',views.uploadHandle),]
运行django服务器:
]#pythonmanage.pyrunserver192.168.255.70:8000
说明:要上传的图片为美女图
浏览器访问:http://192.168.255.70:8000/uploadphoto
选择上传的图片后,页面显示出该图片:
显示图片效果:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。