Django多应用的静态文件
假设我有两个应用:
foo 和 bar
项目的结构如下,我该如何确保这两个应用的样式不会冲突呢?运行 manage.py collectstatic 的时候,会导致其中一个应用的文件被覆盖掉... 管理后台的应用会被导入到一个名为 'admin' 的文件夹里,但我的应用的静态文件却直接导入到主目录,这样如果有重复的文件,就会覆盖掉其他应用的文件。
/Project
/foo
/static
/css
/style.css
/views.py
/models.py
/urls.py
/bar
/static
/css
/style.css
/views.py
/models.py
/urls.py
/urls.py
/manage.py
/settings.py
1 个回答
9
别这样做。无论你有没有使用staticfiles/collectstatic,Django都会提供其中一个style.css
文件。只需要在static/
前面加上应用的名字就可以了。你可以看看django/contrib/(admin|auth|...)/static
是怎么组织的。
Project
|-- foo
| |-- static
| | `-- foo
| | `-- css
| | `-- style.css
| |-- views.py
| |-- models.py
| `-- urls.py
|-- bar
| |-- static
| | `-- bar
| | `-- css
| | `-- style.css
| |-- views.py
| |-- models.py
| `-- urls.py
|-- urls.py
|-- manage.py
`-- settings.py