【问题标题】:django staticfiles with multiple apps具有多个应用程序的 django 静态文件
【发布时间】:2011-10-24 01:45:17
【问题描述】:

假设我有两个应用程序:

富和酒吧

如下所示的项目结构,如何确保应用样式不冲突?运行 manage.py collectstatic 会溶解当前文件中的任何一个...管理应用程序被导入到“管理”文件夹中的收集目录中,但是我的应用程序静态数据直接导入到主目录中,因此如果有重复文件,则会覆盖其他应用程序找到了

/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

【问题讨论】:

    标签: python django


    【解决方案1】:

    不要那样做。无论有没有 staticfiles/collectstatic,djando 都将提供两个 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
    

    【讨论】:

    • 如果两者有相同的css文件怎么办?
    • 其中一个被另一个覆盖。这就是为什么你必须命名你的应用程序的静态文件,这就是你如何在需要时实际覆盖其他应用程序和鸡蛋静态文件。至少 7 年前是这样的……
    猜你喜欢
    • 2011-11-03
    • 2012-04-15
    • 2017-06-08
    • 2020-12-05
    • 2011-06-01
    • 2015-01-24
    • 1970-01-01
    • 2012-04-21
    • 2014-01-07
    相关资源
    最近更新 更多