我正在构建一个Django应用程序与许多模型(5-10)。将有一个管理端,其中一个终端用户管理数据,然后是一个用户端,其中其他终端用户只能读取数据。我理解Django应用程序的意义是鼓励模块化,但我不确定“线在哪里”。
在“最佳实践术语”中:每个模型(或非常相关的模型组)是否应该有自己的应用程序?应该有一个‘管理’应用程序,然后‘前端’应用程序?
在这两种情况下,其他应用程序如何检索和使用其他应用程序中的模型/数据?
发布于 2016-03-01 19:29:43
应用程序是逻辑分隔符。例如,如果您的站点有博客、民意测验和提要,那么您可能有博客、投票和提要应用程序。每个应用程序可能有多个模型(例如Blog和Post模型),但通过功能彼此分离。
如果你不愿意的话,你不需要严格地把事情分成不同的应用程序。将事物分解成应用程序确实对过度拥挤有很大帮助。如果你认为你会成长超过10个模型,你可能会考虑在它变得太困难之前分开(django真的不喜欢你在应用程序之间移动东西)。
至于从其他应用程序访问东西,每个应用程序都是一个模块,所以您所做的就是
from app1.models import App1Model
你们都准备好了。
发布于 2016-03-01 20:00:16
Python\Django是模块化的。
例如,您有一个论坛应用程序。这个论坛有这样的特点,如民意测验,登记,下午等。逻辑上,一切似乎是结合在一起的。然而,如果你的网站只是一个论坛-好的,但如果有其他的内容,例如博客有评论,那么“注册模式”可以作为一个单独的应用程序,可以共享在网站的一部分,如“博客与评论”和“论坛”。
关于管理\前台。我已经看过10多个模型的应用程序项目。基于上面的论坛示例,如果管理部分没有在应用程序的范围之外执行任何任务,那么我将在一个应用程序中进行管理和前端操作。否则,如果管理员与另一个任务有任何关系,这超出了您的主要应用程序的范围-管理应该作为一个单独的应用程序。
https://stackoverflow.com/questions/35731438
复制相似问题