2014-12-13 67 views
0

我正在打包Horizo​​n插件。我有一堆模板,一個視圖,以及CSS,JS文件和圖像。如何正確打包OpenStack Horizo​​n Dashboard插件?

應該包含所有東西,以便軟件包是.deb或tarball。所以現在我保留所有文件在/opt/stack/horizon/openstack_dashboard/dashboards/<my-dashboard-name>

我的問題是,如何正確包含js和css文件?有/opt/stack/horizon/openstack_dashboard/settings.py文件指定HORIZON_CONFIG.js_files,但它總是空的!我在那裏放置了一個文件列表,它仍然在模板中顯示爲空。所以問題是,如何將js和css文件包含在Horizo​​n儀表板插件中,以便將其打包到單個tarball或.deb包中?

回答

3

您應該在<my-dashboard-name>/static以下存儲靜態文件。最好是命名空間靜態文件,我使用以下目錄結構: <my-dashboard-name>/static/<my-dashboard-name>/js等等cssimg然後我引用HTML模板中的文件與/static/<my-dashboard-name>/js/jsfile.js,這樣你就不會遇到任何名稱衝突。

當有人使用你的插件,他們提取您的儀表板,並在適當的地方進行註冊,然後此外,他們必須要逃避基openstack_dashboard目錄collectstatic Django的管理命令(在你的情況/opt/stack/horizon/),或者:

$ ./run_tests.sh -m collectstatic

$ ./manage.py collectstatic

那應該你的靜態文件複製到RI根據網站的配置方式放置。