django上傳圖片
阿新 • • 發佈:2017-09-16
django 圖片 media_root serve document_root
1.seeting中設置
# 上傳文件,資源配置MEDIA_URL = ‘/dimples/‘MEDIA_ROOT = os.path.join(BASE_DIR, ‘dimples‘)
2.model
只存儲路徑
image = models.ImageField(upload_to=‘image/%Y/%m‘,default=u‘image/default.png‘,max_length=100)
upload_to=: 指明文件的路徑(image/年/月)
3.html中獲取圖片
例如:
{{ course_org.image }} 只獲取了相對地址
正確方式:
a.在前面加{{ MEDIA_URL }}
{{ MEDIA_URL }}{{ course_org.image }}
b.在前面加/dimples/
data-url = "/dimples/{{ course_org.image }}"
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}),
本文出自 “13261842” 博客,請務必保留此出處http://13271842.blog.51cto.com/13261842/1965727
django上傳圖片