Django中如何把 ImageField 轉(zhuǎn)化成 url 地址
- 設置 html 中的引用
- 設置 settings 中的
數(shù)據(jù)庫中是字符串硝清。是相對路徑凝果。
模板中
![]({% static 'media/org/2016/11/imooc.png' %})
使用 MEDIA_URL 的時候滔驶,需要在
settings 的 TEMPLATES 下變量 context_processors,配置內(nèi)部處理類
django.core.context_processors.media
會自動把 MEDIA_URL 注冊到 html 中。
但是 django 1.8開始django.core.context_processors就已經(jīng)轉(zhuǎn)移到了django.template.context_processors奕筐。
django.core.context_processors?
Built-in template context processors have been moved to django.template.context_processors.
注意兩個media在settings中的設置。
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
用 chrome 查看圖片有了 url 以后徘钥,就需要在 urls.py 中設定 通過 圖片的url取回圖片衔蹲。
from django.views.static import serve
from MxOnlinePy3Django10.settings import MEDIA_ROOT
urlpatterns = [
# ......
url(r'^media/(?P<path>.*)', serve, {"document_root":MEDIA_ROOT}),
]