• 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的路径,不要以/打头'%}
    

      

  • 相关阅读:
    项目前期
    酒店平台预订管理系统
    毕业论文管理系统化————面向对象方法
    项目前期
    打印出10道四则运算
    软件工程
    酒店预定管理系统
    毕业论文管理系统
    酒店预定管理系统
    android
  • 原文地址:https://www.cnblogs.com/Tommy-Yu/p/3957633.html
Copyright © 2020-2023  润新知