假设您正在构建Google网站。 (好大梦)
Google有网络搜索/ youtube / email / news / etc ..
对于这个网站,我想构建我的django目录,如
Google/
search
youtube
email
news
等等。
我如何构建这样的网站?
虽然我不希望将任何类别发布为应用程序,但为每个人创建一个应用程序?
常见的东西(例如用户模型,实用程序模块,装饰器......)会在哪里创建 common_app ?
答案 0 :(得分:1)
应用程序是围绕中心目标的django项目的可重用组件。应用程序无需直接映射到您网站的网址结构。虽然是一个标准的结构Django应用程序与一些管理命令,例如tests.py
,models.py
,静态文件在/static/
你不需要有任何配合它是一个应用程序。例如,South是一种流行的django应用程序,用于提供数据库迁移。它向manage.py
添加了一些管理命令。
当您添加功能并且它不直接映射到应用程序的目的时,只需创建一个新功能。因此,不要将其视为 common_app ,而应考虑应用程序的用途以及其他应用程序如何使用它。
在我的项目中,我倾向于创建一个base
应用程序来处理基本模板中使用的基本模板和静态资产。我将创建一个accounts
应用程序来处理用户模型并实现密码重置等功能。要处理来自我网站任何部分的全局通知,我将创建一个alerts
应用程序。该列表可以继续执行许多常见功能,但它以一种围绕一个函数的方式进行分组,并且就像它将被分发一样。
因此,在您的具体情况下,您可能至少拥有每个域的申请,例如search
,youtube
,email
和news
,也是您可能希望在核心域中使用的每个通用组件的应用程序。