【问题标题】:Why django has collectstatic?为什么django有collectstatic?
【发布时间】:2014-07-09 07:33:44
【问题描述】:

考虑一个项目,它有一个名为“网站”的应用程序,并且内部有一个“静态”文件夹,其中包含项目的所有静态文件,为什么我必须收集所有静态文件并放在另一个文件夹中,而不是只是在我的网络服务器上映射静态文件夹(网站/静态)? Django 收集静态文件的真正需要是什么?仅仅因为有很多应用程序,您可以将静态文件放在不同的文件夹中?或者,是否涉及更多内容?

【问题讨论】:

  • 是的,基本上,当您有多个应用程序中包含静态文件时,它适用于一般用例。

标签: python django django-staticfiles static-files collectstatic


【解决方案1】:

由于 django 的可插拔应用理念通过其整个封装的应用结构(网址、视图、模型、模板等,是特定于应用的)而显而易见。

您可以在最新的 django 项目结构中看到这一理念得到进一步体现,其中项目名称不包含在导入中/应用程序被全局导入:from myapp import models 而不是 from project.myapp import models

如果您从第三方安装应用程序,则无需费力地找出应用程序所在的位置,django 可以简单地将其移动到您的环境特定的静态文件服务位置。

只需添加到INSTALLED_APPS,您就可以获得第三方应用程序的几乎所有功能,该应用程序的文件在哪里,从模板到模型再到静态文件。

PS:我个人不使用应用程序目录静态文件系统除非我正在制作可插入的应用程序。当文件无处不在时,很难找到和维护 IMO。

【讨论】:

    猜你喜欢
    • 2016-04-07
    • 2014-08-29
    • 2020-06-08
    • 2015-02-04
    • 1970-01-01
    • 2017-12-12
    • 2018-10-03
    • 2017-05-30
    • 2015-07-17
    相关资源
    最近更新 更多