配置
(1) 首先在settings.py
文件结尾中添加如下
MEDIA_URL = "/medias/"
MEDIA_ROOT = "medias"
(2) 然后在urls.py
中添加
from django.conf import settings
from django.conf.urls.static import static
(3) 在同一个urls.py
文件中添加
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
(4) 在models.py
中定义
age = models.IntegerField()
(5) 在视图函数中
def user_info(request):
...
return render(request, 'a.html', {'user': user}) # 假定uer.icon为上传的图片
(6) 如果在模板中直接使用,会找不到
(7) 解决办法
若你打算在模版中使用{{ MEDIA_URL }}
,那么应在TEMPLATES
的context_processors
设置中添加django.template.context_processors.media
。
参考资料:
https://docs.djangoproject.com/zh-hans/2.0/ref/settings/#media-root