因此,在我的Django项目中,我有几个不同的应用程序,每个应用程序都有自己的模型、视图、模板等。让这些应用程序通信的好方法( "Django“方式)是什么?
一个具体的例子是一个会议应用程序,它有一个会议模型,我有一个家庭应用程序,我想在主页上显示前5个会议。
家庭应用程序的视图是否应该仅查询会议应用程序的模型?
这感觉像是越界了,在Django中可能会有一种更解耦的方式来做这样的事情。
发布于 2010-01-13 15:37:54
为了尽可能地实现解耦,
你需要有一个项目特定的应用程序,这做了所有的事情相互之间的挂钩。
使用来自模型的信号在解耦的应用程序中创建新模型会有所帮助。但是,做太多这样的事情是愚蠢的。
发布于 2010-01-13 12:23:43
如果是我,我会在您的会议应用程序中创建一个模板标签,以生成所需的输出,并将该模板标签包含在家庭应用程序的模板中。
这样,您只需将它们耦合到MVC的View部分,如果您在会议应用程序中更改模型,则可以更容易地进行维护。
发布于 2010-01-13 12:21:12
是。我认为这是一个设计特点。所有的模型都共享一个后端,所以你必须做额外的工作才能在不同的应用程序中拥有两个同名的模型。
项目不应共享模型
https://stackoverflow.com/questions/2054357
复制相似问题