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

      

  • 相关阅读:
    美化单选按钮
    url的处理
    时间戳处理
    模板渲染引擎手册
    Web前端工具——Live Reload – Chrome扩展
    属性(Properties)和字段在C#中的关系
    MVC3中的Model
    使用System.Web.Mvc.Ajax
    javascript之DOM操作
    Javascript之BOM(window对象)
  • 原文地址:https://www.cnblogs.com/Tommy-Yu/p/3957633.html
Copyright © 2011-2022 走看看