参考this question答案中提到的评论问题,假设我有来自两个名称相同的两个不同应用的静态文件style.css
:
/foo
/static
/css
/style.css
/views.py
/models.py
/urls.py
/bar
/static
/css
/style.css
/views.py
/models.py
/urls.py
我manage.py collectstatic
所有文件都放入STATIC_ROOT
,style.css
会发生什么?如何确定加载style.css
的优先级?每个应用程序的模板如何知道要加载哪个style.css?
我想我真正要问的是:在同一个项目中使用同名静态文件的django最佳实践程序是什么?
答案 0 :(得分:0)
这是在django的教程文档中。链接here。命名空间静态文件。像这样使用{app_name}/static/{app_name}
约定。
/foo
/static
/foo # add this subdirectory
/css
/style.css
/views.py
/models.py
/urls.py
/bar
/static
/bar # add this subdirectory
/css
/style.css
/views.py
/models.py
/urls.py
这样您就可以拥有相同的文件名。您现在可以在{% static %}
标记中将这些文件称为foo / css / style.css和bar / css / style.css。这些网址将是{STATIC_ROOT} /foo/css/style.css和{STATIC_ROOT} /bar/css/style.css。