为什么django应用程序有多个实例?

为什么django应用程序有多个实例?,django,Django,我读了很多django的文章,包括官方文件。偶尔,我会看到一个应用程序的多个实例被提及,而不涉及它的细节。这让我开始思考拥有多个应用程序实例的用途/应用程序。请举几个例子 在官方文件的URL Dispatcher一节中,我读到: Django Admin作为AdminSite的实例部署 为什么这里需要多个实例?例如,您可以在与/admin不同的url下使用另一个AdminSite实例-例如,您可以在第二个实例中注册不同的ModelAdmins,或者以不同的方式对其进行自定义。在Django文档中

我读了很多django的文章,包括官方文件。偶尔,我会看到一个应用程序的多个实例被提及,而不涉及它的细节。这让我开始思考拥有多个应用程序实例的用途/应用程序。请举几个例子

在官方文件的URL Dispatcher一节中,我读到:

Django Admin作为AdminSite的实例部署


为什么这里需要多个实例?

例如,您可以在与
/admin
不同的url下使用另一个
AdminSite
实例-例如,您可以在第二个实例中注册不同的ModelAdmins,或者以不同的方式对其进行自定义。在Django文档中,您还可以找到
AdminSite
,它使您可以自定义它。
此外,在一些用例中,您可能需要对AdminSite进行子类化,以便为其提供所需的属性…

假设您设计了一个应用程序,该应用程序创建了一个包含类别、子类别、用户配置文件等的论坛。现在,一家制造汽车的公司希望使用您的软件而不必麻烦地托管它。制造自行车的B公司也是如此。您可以将它们作为论坛应用程序的多个实例托管


另一个例子是类似的东西可以托管在您的域上。每个单独的实例都包含电子邮件、文档和更多内容。你可以添加任何你想要的应用。

谢谢。如何设置单个django应用程序的多个实例?我是否只在主URLconf中对不同的实例名称空间使用
include
?@ahmoo不是名称空间,一个应用程序的所有实例共享一个名称空间;它是当前的应用程序。@okm-我不太明白你的意思。你能详细说明一下你说的话吗?Thx@ahmoo我的意思是,当您需要单个应用程序的多个实例时,最好使用
current\u app
来识别它们,而不是使用不同的名称空间。这两种方法可以实现相同的效果,但占用尽可能少的全局名称空间总是很好的@我现在明白你的意思了。基本上,您建议我尽可能使用当前的应用程序来区分应用程序实例和其他应用程序实例。谢谢你的提示。但是,我要说清楚,我的问题不是如何访问,而是如何设置单个应用程序的多个实例。我的理解(如果没有错的话)是,我需要在主URLconf中提供具有不同实例名称空间的单独实例。