温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

django上传图片

发布时间:2020-06-21 01:29:08 来源:网络 阅读:640 作者:MonCheri_Flower 栏目:开发技术


1.seeting中设置
# 上传文件,资源配置MEDIA_URL = '/dimples/'MEDIA_ROOT = os.path.join(BASE_DIR, 'dimples')
2.model

只存储路径

p_w_picpath = models.ImageField(upload_to='p_w_picpath/%Y/%m',default=u'p_w_picpath/default.png',max_length=100)

upload_to=: 指明文件的路径(p_w_picpath/年/月)

3.html中获取图片

例如:

{{ course_org.p_w_picpath }}  只获取了相对地址

正确方式

  • a.在前面加` MEDIA_URL `

{{ MEDIA_URL }}{{ course_org.p_w_picpath }}
  • b.在前面加/dimples/

data-url = "/dimples/{{ course_org.p_w_picpath }}"
4.配置media内部处理类(setting中)

OPTIONS--->context_processors中添加:

'django.core.context_processors.media'

如下:

'OPTIONS': {            'context_processors': [                'django.template.context_processors.debug',                'django.template.context_processors.request',                'django.contrib.auth.context_processors.auth',                'django.contrib.messages.context_processors.messages',                'django.core.context_processors.media'
            ],
        },

会自动将MEDIA_URL注册到html中

5.配置urls
from django.views.static import serve

配置(上传文件的访问处理函数) dimples的urls:

url(r'^dimples/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI