zoukankan      html  css  js  c++  java
  • Django:settings中关于static静态文件目录的设置

    django项目settings中关于静态资源存放位置的设置

    主要涉及以下3项:STATIC_URL、STATICFILES_DIR和STATIC_ROOT

    1. STATIC_URL

    这项是必须配置的,而且属性值不能为空。默认值是STATIC_URL = '/static/'。

    如果STATICFILES_DIR没有设置,则只能识别app中static文件夹下的静态资源。即:只能通过http://127.0.0.1:8000/static/1.jpg访问,且static文件夹是放在app中的。
    app中静态文件夹名称必须是static,即STATIC_URL属性的值。如果写其他名称,则不能访问。
    STATIC_URL的值,表示访问静态资源的起始url,如:http://127.0.0.1:8000/static/......
    如果直接把static文件夹放在项目根目录下,通过上面的网址是不能访问的,除非设置STATICFILES_DIR。
    2. STATICFILES_DIR

    如果想在项目的根目录下存放静态资源,则需要设置STATICFILES_DIRS属性。该属性的值是列表或元组格式,每个列表(元组)元素代表一个静态资源文件夹,这些文件夹可以自行命名,不必非得是static。

    如:在项目根目录下建立文件夹public_static,里面放置图片1.jpg,在app(index)中建立文件夹index_static,里面放置2.jpg,都用于存放静态文件。
    则配置:STATICFILES_DIRS = [os.path.join(BASE_DIR, 'public_static'), os.path.join(BASE_DIR, 'index/index_static'),]
    访问静态文件的路径是:http://127.0.0.1:8000/static/1.jpg;http://127.0.0.1:8000/static/2.jpg.
    综上可见,访问静态资源的路径(起始路径)由STATIC_URL的属性值决定,如果静态文件夹中还有别的文件夹(如test),访问时的路径则是http://127.0.0.1:8000/static/test/1.jpg

    1. STATIC_ROOT

    它的作用主要是收集整个项目的静态资源,并存放在一个新的文件夹,然后由该文件夹与服务器之间构建映射关系。

    STATIC_ROOT配置如下:STATIC_ROOT = os.path.join(BASE_DIR, 'all_static')

  • 相关阅读:
    前端学习笔记
    C#学习笔记
    angualr跨域访问配置
    一文把samba相关的都说清楚
    centos6.5上进行crontab操作
    VS2017 EF本地数据库链接
    Laravel服务/服务提供者/容器/契约和门面
    Laravel之目录结构
    Laravel之视图和Blade模板引擎
    Laravel之HTTP相应
  • 原文地址:https://www.cnblogs.com/yangduoduo/p/11603794.html
Copyright © 2011-2022 走看看