如何在单个站点中实现不同django应用程序之间的交互?

如何在单个站点中实现不同django应用程序之间的交互?,django,django-urls,django-apps,django-1.3,Django,Django Urls,Django Apps,Django 1.3,我刚刚了解了Django应用程序。我想知道,在一个网站内,如果我制作不同的应用程序。比如,用户、个人资料、民意调查、博客、评论、工作、应用程序,那么我如何管理它们,使它们相互影响?应用程序的概念应该是什么样的呢?我想让事情松散耦合这就是为什么要问?Rails是以REST的方式工作的,那么Django在使用应用程序时也支持REST吗?也许我的问题有点模棱两可,因为我是django的新手,我的一些概念仍然混乱 请告诉我你知道什么。一般的想法是应用程序应该尽可能松耦合。目标是拥有完全自包含的功能。当然

我刚刚了解了Django应用程序。我想知道,在一个网站内,如果我制作不同的应用程序。比如,用户、个人资料、民意调查、博客、评论、工作、应用程序,那么我如何管理它们,使它们相互影响?应用程序的概念应该是什么样的呢?我想让事情松散耦合这就是为什么要问?Rails是以REST的方式工作的,那么Django在使用应用程序时也支持REST吗?也许我的问题有点模棱两可,因为我是django的新手,我的一些概念仍然混乱


请告诉我你知道什么。

一般的想法是应用程序应该尽可能松耦合。目标是拥有完全自包含的功能。当然,这并不总是可能的,很多时候,从另一个应用程序引入功能是有意义的。要做到这一点,您只需导入您需要的任何内容。例如,如果您的“博客”应用程序需要在“评论”应用程序中使用您的
Comment
模型,您只需将以下内容添加到您正在使用的python文件的顶部:

from comments.models import Comment
然后可以使用
注释
,就好像它是在同一个文件中定义的一样


至于其他方面,Django的观点更具流动性。你可以随意命名你的观点;您只需将它连接到URL.py中的正确URL模式。Django视图可以返回任何内容类型,您只需准备响应并告诉它作为什么mimetype(默认为HTML)。

因此,我对应用程序的看法几乎是正确的,我可以将评论和博客作为两个不同的应用程序。我想问,我是否也可以使用其他应用程序的视图或模板部分?比如,如果我有一个应用程序作为作业,另一个作为应用程序,那么我想在作业下显示应用程序。那么我可能还需要一些应用程序的时间模板。你几乎可以做任何你喜欢的事情。“应用程序”只是一个独立的逻辑单元。您可以在任何其他应用程序中使用其模型、视图、模板、静态资源等。对于模型和视图之类的东西,只需如上所述导入它们。对于模板和静态资源,您只需在另一个模板中引用它们的路径,例如
{%extend%}
标记。