zoukankan      html  css  js  c++  java
  • django 配置media 存放调用 图片、图标等文件

    一、需求分析:

    一般在网站开发中,有很多类似于用户头像、用户上传的文件,这些经常要改变的媒体文件,需要有一个地方存放,于是就需要media目录,起到跟static类似的功能。

    二、在settings.py中配置:

    在TEMPLATES中:

    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',
                ],
            },
        },
    ]

    在settings.py中的最后追加代码:

    MEDIA_URL="/media/"
    MEDIA_ROOT=os.path.join(BASE_DIR,"media")

    三、在项目urls.py中增加:

    ......
    from django.views.static import serve
    from xyw.settings import MEDIA_ROOT
    
    urlpatterns = [
        ......
    
        #配置上传文件的访问处理函数
        path('media/<path:path>',serve,{'document_root':MEDIA_ROOT}),
    ]

    四、在前端中使用:

    <div id="portfoliolist">
    
            {% for shop in all_shops.object_list %}
    
            <div class="portfolio shop" data-cat="shop">
                <div class="portfolio-wrapper">
    <!--引入media文件代码start-->
    
                    <img src="{{ MEDIA_URL }}{{ shop.shop_image }}" alt="店铺封面" />
    <!--引入media文件代码end-->
                    <div class="label">
                        <div class="label-text"><a class="text-title">{{ shop.name }}</a><span class="text-category">{{ shop.shop_sn }}</span></div>
                        <div class="label-bg"></div>
                    </div>
  • 相关阅读:
    组件化的使用
    MacOS 升级后pod 出现的问题
    协议(Protocol) 和代理(Delegate)
    分类(Category)的本质 及其与类扩展(Extension) /继承(Inherit)的区别
    KVC
    KVO的使用及底层实现
    OC对象的本质及分类
    大端小端
    为什么一个指针在32位系统中占4个字节,在64位系统中占8个字节?
    quarts之Cron表达式示例
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/8858775.html
Copyright © 2011-2022 走看看