Django 的media配置总是出错,每次问题都可以归类为路径错误,但实际上,配置是有套路的,主要分成下面三步,只要掌握了这个套路,每次如果出现错误都按照这个套路去查找,总能找到问题所在,并解决问题。
1. 配置文件
settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace("\\", "/")
# 如果要在模板文件中使用 {{MEDIA_URL}}
# 则需要将'django.template.context_processors.media' 加入到 templates 中的context_processors
2.路由
urls.py
from django.conf.urls import url
from django.conf import settings
from django.views.static import serve
urlpatterns += [
url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT}),
]
3.前端
html中
<img src="{{ MEDIA_URL }}{{ article.pic }}" alt=""/>