首页 > 代码库 > django静态文件查找逻辑
django静态文件查找逻辑
最近被django的静态文件配置整疯了. 决定直捣黄龙,看看底层代码: 首先用manage finstatic xxxx.js 看看处理逻辑,发现主要在:C:\Python27\Lib\site-packages\django\contrib\staticfiles\finders.py中的find函数,如下:
调试进入:C:\Python27\Lib\site-packages\django\contrib\staticfiles\finders.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中查找逻辑如下(先上面,后下面):
django静态文件查找逻辑
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。