我只想尝试用django构建一个项目.因此,我有一个关于如何管理这样一个项目的(基本)问题.因为我找不到任何关于如何将项目拆分成应用程序的指南.
我们以一种SO为例.你会使用哪些应用程序?我会说应该有应用程序"用户"和"问题".但是如果有一个包含静态文章的主题系统呢?也许他们也可以获得投票.那么如何构建应用程序结构呢?一个应用程序的"问题","投票"和"主题"或只是一个应用程序"内容"?
我不知道该怎么做.也许是因为我对Django的了解不多,但我对...感兴趣...
没有严格的规则,但我认为最好在更专业的应用程序方面犯错.理想情况下,应用程序应该只处理一个功能问题:即"标记"或"评论"或"auth/auth"或"帖子".这种类型的设计还将帮助您重用可用的开源应用程序,而不是重新发明轮子(即Django带有auth和评论应用程序,django-tagging或django-taggable几乎可以肯定地做你需要的等等).
通用外键可以帮助您分离应用程序,例如可能应用于其他几个应用程序的模型的标记或注释.
您应该尝试在尽可能多的应用程序中分离项目.对于大多数项目,应用程序不会包含超过5个模型.例如,像SO这样的项目会为UsersProfiles,问题,标签提供单独的应用程序(django中有一个现成的应用程序),等等.如果有一个静态页面的系统也是一个单独的应用程序(有准备的应用程序)以此目的).您还应该尝试使应用程序尽可能通用,这样您就可以在其他项目中重用它们.有关可重用应用程序的精彩演示.