zoukankan      html  css  js  c++  java
  • django静态文件查找逻辑

    最近被django的静态文件配置整疯了. 决定直捣黄龙,看看底层代码: 首先用manage finstatic xxxx.js 看看处理逻辑,发现主要在:C:Python27Libsite-packagesdjangocontribstaticfilesfinders.py中的find函数,如下:

    调试进入:C:Python27Libsite-packagesdjangocontribstaticfilesfinders.py的FileSystemFinder类的find方法:

    shit happens, 因为locations为空,所以找不到咯.那么它是怎么赋值的呢?如下:

    结论,需要在settings.py中定义 STATICFILES_DIRS, 这样django就会知道去哪找了.而不是定义static_root, 如果你这么想,你跟我一样一厢情愿.这个变量是用来给manage collectstatic 用的.what a shit.

    这个是project的查找逻辑.

    那么对于app呢?默认去app下面的static_url定义的文件夹查找,so,you  see? app中查找逻辑如下(先上面,后下面):

    -----

    对于app中的template中对静态资源的引用,方法如下:

    some_template.html

    {% load staticfiles %}
    {% static '资源相对于app/static的路径,不要以/打头'%}
    

      

  • 相关阅读:
    11、sqlite
    10、正则
    9、bs4
    8、异常与import
    7、文件
    6、函数
    4、字典及集合
    3、元组
    1、python基本语法
    shell编程 15 --- shell 脚本调试技巧
  • 原文地址:https://www.cnblogs.com/Tommy-Yu/p/3957633.html
Copyright © 2011-2022 走看看