zoukankan      html  css  js  c++  java
  • STATIC_URL、STATIC_ROOT、STATICFILES_DIRS三者区别

    一、STATIC_URL

    作用是通过url直接访问在项目中的静态文件。

    二、STATIC_ROOT

    1.  #the dir for command "python manage.py collectstatic" 
    2. STATIC_ROOT = os.path.join(BASE_DIR, "collect_static")
    3.  #locate the common static files
    4.  STATICFILES_DIRS = [
    5.  os.path.join(BASE_DIR, 'common_static')
    6.  ]

    部署django项目的时候需要用到STATIC_ROOT ,它是收集所有的静态文件并放在一个目录里,即STATIC_ROOT指向的目录里。

    执行完python manage.py collectstatic后,将静态文件复制到STATIC_ROOT指定的目录中。

    三、STATICFILES_DIRS

    STATIC_ROOT 是在部署的时候才发挥作用, 而实际情况下,静态文件的一般安放位置有两种:

    1、在每个app里面新建一个static文件夹,将静态文件放到里面,在加载静态文件时,比如要在模板中用到静态文件,django会自动在每个app里面搜索static文件夹。

    所以,不要把文件夹的名字写错哦, 否则django就找不到你的文件夹了。

    2、在所有的app文件外面,建立一个公共的文件夹, 因为有些静态文件不是某个app独有的,那么就可以把它放到一个公共文件夹里面,方便管理。

    注意,建立一个公共的静态文件的文件夹只是一种易于管理的做法,但是不是必须的,app是可以跨app应用静态文件的,因为最后所有的静态文件都会在STATIC_ROOT里面存在。

    那现在的问题是如何让django知道你把一些静态文件放到app以外的公共文件夹中呢,那就需要配置STATICFILES_DIRS了

    1.  STATICFILES_DIRS = (
    2.  os.path.join(BASE_DIR, 'common_static'),
    3.  )

    STATICFILES_DIRS告诉django,首先到STATICFILES_DIRS里面寻找静态文件,其次再到各个app的static文件夹里面找。

    注意, django查找静态文件是惰性查找,查找到第一个,就停止查找了。

  • 相关阅读:
    C#——数组
    javaScript数组移除指定对象或下标i,数组去重
    css实现左边div自适应宽度,右边宽度适应左边
    最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)
    java 获取微信 页面授权 获取用户openid
    鼠标滑轮滚动事件
    浏览器后退(返回)事件捕获
    一些常用的原生js方法(函数)
    简单瀑布流实现
    XMLHttpRequest对象的创建与用法
  • 原文地址:https://www.cnblogs.com/shangping/p/13563439.html
Copyright © 2011-2022 走看看