我有两个连接到不同dbs的独立django应用程序。我想创建一个父应用程序,将请求路由到两个子应用程序之一。
有可能,我怎样才能实现这一目标?父应用程序不必连接到任何数据库,它应该只将请求路由到子应用程序。
感谢您的帮助。
答案 0 :(得分:6)
这是可能的。在Django中,将应用程序视为可以拼凑并组合的库。所以假设您有以下内容:
你可以创建一个django项目。将这两个应用程序放入安装应用程序INSTALLED_APPS中。请查看django文档中Multiple databases部分。它将解释如何配置您的应用程序,以便它们自动路由到正确的数据库。最后,您不需要创建第三个父应用程序。然后编辑项目的urls.py并为每个应用定义路由。您也可以从应用B调用应用A,并根据需要将请求从一个重定向到另一个。
示例urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
)
上面的示例将两个单独的应用程序路由到两个不同的URL。这些应用django.contrib.admindocs和django.contrib.admin都附带了Django。该示例取自2nd part of the Django tutorial。