2012-12-25 120 views
0

我正在关注用于学习Django的Django Book 2.0,并在那里创建了一个名为mysite的静态网站。之后,我们创建了一个名为books的应用程序和一个数据库。我知道我们可以在同一个项目下创建多个应用程序。Django中的应用程序和项目

但是,我们只能在mysite/settings.py中指定一个数据库,我相信这个数据库将被该项目下的所有应用程序使用,因为它没有在books/中指定。

如何创建使用不同数据库的多个应用程序?

最后,在使用不在应用程序中的静态页面的情况下,在同一个项目下使用多个应用程序有哪些用例?

回答

3

查看多个数据库上的django documentation。实际上,您可以在DATABASES设置中使用不同的名称列出尽可能多的数据库。

特别检查一下Routers部分。您可以在每个应用程序中设置路由器,以指导您的模型使用特定的数据库。

就使用不在应用中的静态页面的多个应用的​​用例而言,我不太清楚你在问什么。如果你在谈论静态网页,你可以使用flatpages。它是一个可选的django应用程序,允许您将HTML存储在要从管理员编辑的数据库中。

+0

+1回答他的问题的两个部分。还有['direct_to_template'](https://docs.djangoproject.com/en/1.2/ref/generic-views/#django-views-generic-simple-direct-to-template)通用视图更多基本的,与flatpage不同的是,它会经历任何视图中间件。 –

3

在Django中可以定义多个数据库,像这样:

在你的settings.py

DATABASES = { 
    'default': { 
     'NAME': 'app_data', 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'USER': 'postgres_user', 
     'PASSWORD': 's3krit' 
    }, 
    'users': { 
     'NAME': 'user_data', 
     'ENGINE': 'django.db.backends.mysql', 
     'USER': 'mysql_user', 
     'PASSWORD': 'priv4te' 
    } 
} 

这里我已经定义了2个数据库默认和用户,更多地了解如何同步或使用这些数据库follow this link

相关问题