• 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>
  • 相关阅读:
    【初入职场】工作一个月
    sql中更新数据库用到declare @a in
    Mac 下ll命令 command not found
    GLIBC_2.7升级
    PHP 5.5以后加速插件:Zend Opcache
    ssh的public key的使用
    apache Alias使用问题
    linux下telnet mysql的3306断口,提示Can't connect to MySQL server on localhost (110)
    知乎技术方案初探[转]
    JS刷新父窗口的几种方式
  • 原文地址:https://www.cnblogs.com/weilaibuxiangshuo/p/10405944.html
Copyright © 2020-2023  润新知