Django:settings中关于static静态文件目录的设置

转载地址:https://www.cnblogs.com/eagleow/p/10682916.html

django项目settings中关于静态资源存放位置的设置
主要涉及以下3项:STATIC_URL、STATICFILES_DIR和STATIC_ROOT

一、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/......

  • 3. 如果直接把static文件夹放在项目根目录下,通过上面的网址是不能访问的,除非设置STATICFILES_DIR。

  • 二、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


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

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

    发布了149 篇原创文章 · 获赞 84 · 访问量 15万+

    猜你喜欢

    转载自blog.csdn.net/weixin_43465312/article/details/96026093
    今日推荐