当前位置:   article > 正文

关于Django静态文件路径设置规则的精炼总结

关于Django静态文件路径设置规则的精炼总结

01-当Django处于DEBUG模式时,其与静态资源有关的三句设置语句才有作用,当没有处于DEBUG模式时,与静态资源有关的三句设置语句没有作用。与静态资源有关的三句设置语句如下:

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_list')]  # 注意这是一个列表,即可以有多个目录的路径
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
STATIC_URL = '/static-url/'
  • 1
  • 2
  • 3

02-当Django没有处于Debug模式时,静态文件该由代理服务器(比如Nginx)直接提供,通常的做法是在Nginx中配置两个匹配静态文件的location块,比如下面的语句:

    # 匹配图片类静态文件
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
    {
        expires 30d;
        error_log off;
        access_log /dev/null;
    }
    # 匹配js,css等别的静态文件
    location ~ .*\.(js|css)?$
    {
        expires 12h;
        error_log off;
        access_log /dev/null;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

03-当Django处于Debug模式时,当Django开启web服务后,如果STATIC_URL = '/static-url/'
则访问URL路径:http://hostname:端口号/static-url/就相当于去访问Django目录中的静态文件。
那么由Django的哪个目录提供静态文件呢,此时又分为两种情况。

第一种情况:没有执行命令python manage.py collectstatic的情况,此时遍历目录的顺序请参考我之前写的博文https://blog.csdn.net/wenhao_ir/article/details/134493471【搜索“没有执行命令python manage.py collectstatic的情况”】

第二种情况:执行命令python manage.py collectstatic的情况,此时遍历目录的顺序也请参考我之前写的博文https://blog.csdn.net/wenhao_ir/article/details/134493471【搜索“当运行 python manage.py collectstatic 命令时”】

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/79144
推荐阅读
相关标签
  

闽ICP备14008679号