[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 返回页面未找到

Django MEDIA_URL 空白 @DEPRECATED

Django - MEDIA_URL 仍然与 S3BotoStorage 相关吗?

为 Django Heroku 应用程序、Amazon S3 设置 MEDIA_URL

Django MEDIA_URL 和 MEDIA_ROOT