2012-12-25 85 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

相關問題