1.首先上传图片表单需<form method="POST" enctype="multipart/form-data">
2.视图py 中获取片名字
#接收文件以对象形式
img = request.FILES.get('img')
#文件名称是name属性
#建立文件流对象
with open(os.path.join(settings.UPLOAD_ROOT,'',img.name),'wb') as f:
#写文件
for chunk in img.chunks():
f.write(chunk)
user = User(username = username,password=password,img=img.name)
user.save()
注意:写入图片(文件)需在setting.py中定义上传文件夹的路径
UPLOAD_ROOT = os.path.join(BASE_DIR,'upload')
3.读取展示图片
在视图py中读取数据(要展示的内容)res = User.objects.get(id=18)
然后在模板文件中展示图片<img src="/upload/{{res.img}}">
注意:展示图片需在路由(urls.py)中导入
#导入文件路由库
from django.views.static import serve
#导入文件配置路径
from mysite.settings import UPLOAD_ROOT
定义图片的链接
re_path('^upload/(?P<path>.*)$',serve,{'document_root':UPLOAD_ROOT})
相关文章
- Java 实现网络图片的读取与下载
- Java上传图片到Ftp,包含上传后文件大小为0的问题和Properties配置文件的读取
- ajax上传图片 jquery插件 jquery.form.js 的方法 ajaxSubmit; AjaxForm与AjaxSubmit的差异
- 使用VUE+element-ui & 阿里云OSS 完成图片/文件的上传与使用
- UEditor自定义图片/文件上传路径与回显
- 微信JS图片上传与下载功能--微信JS系列文章(三) - RexFang
- vue+element-ui中的图片获取与上传
- (十)微信小程序---上传图片chooseImage 与 上传到服务器
- UEditor Golang上传图片与附件
- 文件上传,服务端压缩文件方法,重点是png与gif图片的压缩,保证了透明度与动画