1

假设您正在构建一个 Google 网站。(好的大梦想)

谷歌有网络搜索/youtube/email/news/etc ..

对于这个站点,我想像这样构建我的 django 目录

Google/
       search
       youtube
       email
       news

等等。

我如何构建这样一个网站?
即使我不希望将任何类别发布为应用程序,也要为每个应用程序创建一个应用程序?

一个通用的东西(例如用户模型、实用模块、装饰器..)会去哪里,创建一个common_app

4

1 回答 1

1

应用程序是围绕中心目的的 django 项目的可重用组件。应用程序不需要直接映射到您网站的 url 结构。虽然 django 应用程序有一个标准结构来与一些管理命令相关联,例如tests.py, ,但您不需要任何models.py静态文件就可以成为应用程序。/static/例如,South 是一个流行的 django 应用程序,用于提供数据库迁移。它将一些管理命令添加到manage.py.

当您添加功能并且它不直接映射到应用程序的目的时,只需创建一个新功能。因此,不要将其视为 common_app,而应考虑应用程序的用途以及您的其他应用程序如何使用它。

在我的项目中,我倾向于创建一个base应用程序来处理基本模板和基本模板中使用的静态资产。我将创建一个accounts应用程序来处理用户模型并实现密码重置等操作。为了处理来自我站点任何部分的全局通知,我将创建一个alerts应用程序。该列表可以继续包含许多常见功能,但它以围绕功能的方式进行分组,并像分发一样编写。

因此,在您的特定情况下,您可能至少有一个适用于每个域的应用程序,例如searchyoutubeemailnews,而且还有一个适用于您可能希望在核心域中使用的每个常见组件的应用程序。

于 2013-10-31T05:56:16.130 回答