2014-06-10 43 views

回答

1

編輯:如果您使用的是Liberty版本或更高版本,我建議不要直接附加數據庫。從外部製作自己的休息API(使用django-rest-framework輕鬆完成)並使用angularjs獲取數據。這是Horizo​​n的新標準方式。

Horizo​​n沒有數據庫。它只依靠對keystone的API調用以及服務目錄中公開的任何API。如果你想存儲自己的模型,你可以在任何django應用程序中以標準方式配置數據庫。

在openstack_dashboard/local/local_settings.py中添加db信息,以免篡改默認設置。

DATABASE_ROUTERS = [...] 
DATABASES = { 
    'default': {}, 
    'mydb1': { ... }, 
    'mydb2': { ... }, 
} 

這是假設您實際上必須存儲自定義數據。我猜想,將數據庫或API連接到其他客戶信息是非常正常的。註冊過程,帳單信息和其他自定義內容。

還要確保在源樹之外創建自定義內容,並在openstack_dashboard/local/enabled中將其掛鉤。這使得在升級地平線源時將來會更清潔。

實施例:

openstack_dashboard 
├── .... 
horizon 
├── ... 
mystuff 
├── horizon 
│   ├── mydashboard 
│   │   ├── panel1 
│   │   │   ├── __init__.py 
│   │   │   ├── panel.py 
│   │   │   ├── urls.py 
│   │   │   ├── views.py 
│   │   ├── panel2 
│   │   │   ├── .... 
│   │   ├── dashboard.py 
│   │   ├── __init__.py 
│   │   ├── models.py (Unless defined elsewhere) 
│   │   ├── static 
│   │   └── templates 

然後導入儀表板包在openstack_dashboard /本地/啓用/ _50_mydashboard.py

# The name of the dashboard to be added to HORIZON['dashboards']. Required. 
DASHBOARD = 'mydashboard' 
# If set to True, this dashboard will be set as the default dashboard when the user logs in 
DEFAULT = False 
# If set to True, this dashboard will not be added to the settings. 
DISABLED = False 
# A dictionary of exception classes to be added to HORIZON['exceptions']. 
#ADD_EXCEPTIONS = {} 
# A list of applications to be added to INSTALLED_APPS. 
ADD_INSTALLED_APPS = ['mystuff.horizon.mydashboard'] 

對於儀表板和麪板設置: http://docs.openstack.org/developer/horizon/topics/tutorial.html

自定義主題穩定: http://www.matthias-runge.de/custom-theme-for-horizon.html

+0

我在openstack-dashboards/openstack_dashboard/dashboards dir中添加了一個自定義儀表板,並在本地/ setiings.py文件中添加了_50_dashboard.py所有更改,但仍未顯示任何更改, ** 500 **服務器響應(錯誤)。是否因爲我沒有在自定義儀表板目錄中添加任何**模板**和**靜態**目錄? –

+0

肯定有堆棧跟蹤信息關於那裏出錯了?這是服務器啓動時還是嘗試訪問某個URL?模板目錄自動添加到TEMPLATE_DIRS,因此不確定是否有問題。 – Grimmy

+0

可能也很高興知道您使用的是什麼版本。我現在假設它的Icehouse或其他任何東西。 – Grimmy

相關問題