zoukankan      html  css  js  c++  java
  • django 如何在HMTL中使用媒体media_url

    django 如何在HMTL中使用媒体media_url中指定的路径

    第一种:

    一、

    setting.py里,一般图片或者文件上传路径都是是以下设置,

    MEDIA_URL = '/media/'   #访问路径
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  #上传路径

     二、

    项目app里url.py,设置如下

    from django.conf import settings
    from django.views.static import serve
    urlpatterns = [url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT})]

    三、

    如果想在html中调用media_url的访问路径

    # 首先在setting.py中 TEMPLATES 下面的 'context_processors': 里面添加 'django.template.context_processors.media',
    TEMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'front/templates')],
    'APP_DIRS': True,
    'OPTIONS': {
    'context_processors': [
    'django.template.context_processors.debug',

    在html中即可如此调用

    <body><img src = "{{ MEDIA_URL }}{{ceshi}}"></body>


    如果没有第三步设置,html中只能使用以下方式调用:

    <img src = "/media/{{ceshi}}">

     第二种:需要django版本>=1.7

    from django.conf import settings
    from django.conf.urls.static import static
    urlpatterns = patterns('',
        # ... the rest of your URLconf goes here ...
    ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    
    然后通过添加启用media context_processors inTEMPLATE_CONTEXT_PROCESSORS
    
    TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                #here add your context Processors
                'django.template.context_processors.media',
            ],
        },
    },
    ]
    
    现在每个RequestContext都包含一个变量MEDIA_URL
    现在你可以在你的访问中访问它 template_name.html
    <p><img src="{{ MEDIA_URL }}/image_001.jpeg"/></p>
  • 相关阅读:
    黑马程序员简易聊天器笔记
    黑马程序员 最简单的浏览器
    Java 窗体布局
    黑马程序员交通系统
    黑马程序员–java 网络处理
    Swing入门级项目全程实录学习总结
    Swing入门级项目全程实录第7讲
    Swing入门级项目全程实录第3讲
    Swing入门级项目全程实录第2讲
    HTML基础教程
  • 原文地址:https://www.cnblogs.com/weilaibuxiangshuo/p/10405944.html
Copyright © 2011-2022 走看看