• django media和static配置


    static 静态文件夹

    settings.py的配置

    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, "static")
    ]
    

    django项目我们默认把js和css文件都放在根目录的static目录下

    media 配置

    media 一般对应的是我们model字段ImageField的up_load参数,settings.py 配置

    # Django用户上传的都叫media文件
    MEDIA_URL = "/media/"
    # media配置,用户上传的文件都默认放在这个文件夹下
    MEDIA_ROOT = os.path.join(BASE_DIR, "media")
    

    url.py 文件需要加上一句

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

    前端html使用

    <img class="media-object author-img" src="/media/{{ article.user.avatar }}" alt="...">
    

    models.py使用
    avatar = models.FileField(upload_to="avatars/", default="avatars/default.png", verbose_name="头像")
    就算根目录的media没有avatars,django也会帮我们自动创建avatars目录,数据库字段存的值是avatars/htest.png
    注意,当我们没有使用django media的时候,会在根目录创建avatars目录,数据库字段存的值仍然是avatars/htest.png
    提问:为什么要有media,因为前端需要拿到上传的图片,我们当然可以放到static目录里。但是,static放的是我们服务器开发的静态文件,
    media存放的是前端上传的文件,应该严格区分。在settings.py加了还需要加url,类比static,因为static是django已经帮我们配置了url,media不会帮我们配置,因为media可能是不需要的

  • 相关阅读:
    oracle12c之二 控制PDB中SGA 与 PGA 内存使用
    oracle12c之一 控制-PDB的磁盘I/O(IOPS,MBPS)资源管理
    DB link的迁移
    xtts v4for oracle 11g&12c(文档ID 2471245
    Xtts v4变化&先决条件&已知问题
    Xtts v4 xttdriver.pl & xtt.properties
    TT 安装之 Windwos
    TT 安装前配置 共享内存,在页,信号量
    TT 安装 之 AIX
    TimesTen LINUX 安装日志
  • 原文地址:https://www.cnblogs.com/longyunfeigu/p/9166874.html
Copyright © 2020-2023  润新知