标签:str 就是 设置 删除 创建 tom views ant project
ImageField 和 FileField 可以分别对图片和文件进行上传到指定的文件夹中。
1. 在下面的 models.py 中 :
picture = models.ImageField(upload_to=‘avatars/‘, default="avatars/default.png",blank=True, null=True) 注:定义 ImageField 字段时必须制定参数 upload_to这个字段要写相对路径,
这个参数会加在 settings.py 中的 MEDIA_ROOT后面, 形成一个路径, 这个路径就是上 传图片的存放位置,默认在Django项目根路径下,也就是MEDIA_ROOT默认是Django根目录
所以要先设置好 mysite/settings.py中的 settings.py 中的 MEDIA_ROOT
#获取文件对象 avatar=request.FILES.get("avatar_img") #插入数据,将图片对象直接赋值给字段 UserInfo.objects.create_user(username=user,password=pwd,email=email,avatar=avatar)
Django会在项目的根目录创建avatars文件夹,将上传文件下载到该文件夹中,avatar字段保存的是文件的相对路径。
2. 在 mysite/settings.py中 :
MEDIA_ROOT=’/home/chuangyuan/project/uploadfile’
MEDIA_URL=’/media/’
MEDIA_URL:给这个属性设值之后,静态文件的链接前面会加上这个值
MEDIA_ROOT:存放 media 的路径, 这个值加上 upload_to的值就是真实存放上传图片文件位置
在 MEDIA_URL这个字段,如果不设置它的话,点击这个连接, url 会变成上个页面的 url 加上图片的路径。
3.url.py:
from django.views.static import serve from cnblog_s20 import settings # 添加media 配置 url(r‘^media/(?P<path>.*)$‘, serve, {‘document_root‘: settings.MEDIA_ROOT}),
浏览器可以直接访问http://127.0.0.1:8000/media/avatars/lufei.jpg,即我们的用户上传文件
4.FileField 和 ImageFiled 相同。
DAY20-Django之FileField与ImageField
标签:str 就是 设置 删除 创建 tom views ant project
原文地址:https://www.cnblogs.com/guoyunlong666/p/9064825.html