Django设置上传文件夹

django提供了两种字段类型models.FileField与models.ImageField,用于保存上传文件与图 象.这两类字段提供了一个参数'upload_to',用于定义上传文件保存的路径(完整的路径为settings.MEDIA_ROOT + upload_to).
在设置符文本编辑器的时候设置了upload.py上传文件的代码,
 
 
还需要在settings里面进行设置,#自定义用户model
AUTH_USER_MODEL = 'blog.User'
avatar = models.ImageField(upload_to='avatar/%Y/%m', default='avatar/default.png', max_length=200, blank=True, null=True, verbose_name='用户头像')
ImageField是图像字段upload_to是上传路径 default默认图片
需要在settings里面设置上传路径
 
 
上传文件
KinderEditor没有提供python的上传文件的接口,所以需要自己进行配置
固定上传的目录为uploads
url(r"^uploads/(?P<path>.*)$", \ "django.views.static.serve", \ {"document_root": settings.MEDIA_ROOT,}),
 
uploads 是说明这是一个路由的地址, (?P<path>.*)$"这里可以是任意字符,   "django.views.static.serve"是调用django里面的server方法
"
document_root": settings.MEDIA_ROOT,这是对应路径
avatar = models.ImageField(upload_to='avatar/%Y/%m', default='avatar/default.png', max_length=200, blank=True, null=True, verbose_name='用户头像')
upload_to
='avatar/%Y/%m'
自定义上传路径,上传到指定文件
 
 
步骤
在settings.py文件里面进行设置
MEDIA_URL = '/uploads/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
创建uploads文件夹
在url文件当中引入settings   from django.conf import settings
 
url(r"^uploads/(?P<path>.*)$", \ "django.views.static.serve", \ {"document_root": settings.MEDIA_ROOT,}),
 
avatar
= 
models.ImageField(upload_to
='avatar/%Y/%m'
,在models里面已经设置了上传路径,是在settings里面设置的路径下面,这里写的是avatar/年/月 存储 http://localhost:8000/uploads/avatar/2015/12/mamao.jpg 因为在url里面有设置,所以可以直接在输入url也可以访问到
 
广告
<img id="slide-img-{{ ad.id }}" src="uploads/{{ ad.image_url }}" 
图片的src目前有三种情况 1:绝对路径 2:静态文件的相对路径 <img id="slide-img-1" src="{% static 'images/a1.jpg' %}" alt="" /> 3:上传文件的路径
<img id="slide-img-{{ ad.id }}" src="uploads/{{ ad.image_url }}"  直接写uploads文件夹加上传文件地址相当于就是绝对路径
src="../uploads/{{ ad.image_url }}"这里面需要加引号,写的就是绝对路径
 
 
 
  
 
 
 





转载于:https://www.cnblogs.com/wuqingzangyue/p/5749489.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值