背景
django版本:2.1.1
解决方法:
1. setting.py文件需要设置信息如下:
MEDIA_URL = ‘/media/’,设置该路径为了在模板中定位静态文件(图片/文件等)的位置,<img src="{{ MEDIA_URL }}{{ user.image }}"/> 这样便可以从浏览器中得到头像的URL地址,从而显示出来
MEDIA_ROOT = os.path.join(BASE_DIR,‘media’),设置该路径是为了将新建的‘media’添加到根搜索路径下,这样在建立用户模型时的image = models.ImageField(max_length=100,upload_to='users/image/%Y/%m',, upload_to 指定的是相对闻之,通过设定MEDIA_ROOT,便可以将头像存储在:127.0.0.1:8000/meida/user/image/%Y/%m,目录下了。
设置TEMPLATES中的上下文管理器,添加media进来,如果不添加的话,模板中的{{ MEDIA_URL }}会找不到地址的。
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'Dirs': [os.path.join(BASE_DIR, 'templates')] , 'APP_Dirs': True, '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.template.context_processors.media', ], }, },]
2. 配置urls.py文件
from django.views.static import serve from django.conf import settings urlpatterns = [ url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT}),]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。