应用程序是围绕中心目的的 django 项目的可重用组件。应用程序不需要直接映射到您网站的 url 结构。虽然 django 应用程序有一个标准结构来与一些管理命令相关联,例如tests.py
, ,但您不需要任何models.py
静态文件就可以成为应用程序。/static/
例如,South 是一个流行的 django 应用程序,用于提供数据库迁移。它将一些管理命令添加到manage.py
.
当您添加功能并且它不直接映射到应用程序的目的时,只需创建一个新功能。因此,不要将其视为 common_app,而应考虑应用程序的用途以及您的其他应用程序如何使用它。
在我的项目中,我倾向于创建一个base
应用程序来处理基本模板和基本模板中使用的静态资产。我将创建一个accounts
应用程序来处理用户模型并实现密码重置等操作。为了处理来自我站点任何部分的全局通知,我将创建一个alerts
应用程序。该列表可以继续包含许多常见功能,但它以围绕功能的方式进行分组,并像分发一样编写。
因此,在您的特定情况下,您可能至少有一个适用于每个域的应用程序,例如search
、youtube
、email
和news
,而且还有一个适用于您可能希望在核心域中使用的每个常见组件的应用程序。