[django]media_url
Posted songbird
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[django]media_url相关的知识,希望对你有一定的参考价值。
django将文件上传到media文件夹,想要在前端通过{{ MEDIA_URL }}显示出来时发现没用
settings.py中这样设置
1 MEDIA_URL = ‘/media/‘ 2 3 MEDIA_ROOT = os.path.join(BASE_DIR, ‘Media‘)
html中代码
1 <img src="{{ MEDIA_URL }}learndjango.jpg" alt="">
访问页面的时候审查元素发现并不加载MEDIA_URL,只有learndjango.jpg
解决方法:
setting.py中黄色设置
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‘, ‘BookStore.views.global_settings‘, ‘django.template.context_processors.media‘, ], }, }, ]
views.py中render_to_response时加
return render_to_response(‘index.htm‘, context_instance=RequestContext(request,locals()))
这样页面审查元素时会有settings.py中设置的media_url
但是还是显示不出图片
解决方法:
url中加这句
url(r‘^media/(?P<path>.*)$‘, ‘django.views.static.serve‘, {‘document_root‘: settings.MEDIA_ROOT})
概括:其实在html中不写{{ MEDIA_URL }}直接写/media/learndjango.jpg,然后加上上面的url就行了,但是media_url变了的话就会改动很多
以上是关于[django]media_url的主要内容,如果未能解决你的问题,请参考以下文章
Django - MEDIA_ROOT 和 MEDIA_URL
Django MEDIA_URL 空白 @DEPRECATED
Django - MEDIA_URL 仍然与 S3BotoStorage 相关吗?