Django中如何把 ImageField 转化成 url 地址

Django中如何把 ImageField 转化成 url 地址

  • 设置 html 中的引用
  • 设置 settings 中的

数据库中是字符串。是相对路径。

模板中

![]({% static 'media/org/2016/11/imooc.png' %})

使用 MEDIA_URL 的时候,需要在

settings 的 TEMPLATES 下变量 context_processors,配置内部处理类

django.core.context_processors.media

会自动把 MEDIA_URL 注册到 html 中。

但是 django 1.8开始django.core.context_processors就已经转移到了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.*)', serve, {"document_root":MEDIA_ROOT}),
]

你可能感兴趣的:(Django中如何把 ImageField 转化成 url 地址)