为什么django有收集静电?

时间:2014-05-20 21:06:03

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

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

1 个答案:

答案 0 :(得分:3)

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

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

如果您从第三方安装应用程序,则无需仔细查明应用程序所在的位置,django只需将其移动到您的环境特定的静态文件服务位置。

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

PS:我个人不使用app-directory静态文件系统,除非我正在制作一个可插拔的应用程序。当文件绝对无处不在时,找到并维护IMO会更加困难。