如何正确打包OpenStack Horizo​​n Dashboard插件?

时间:2014-12-13 01:15:00

标签: django django-templates openstack openstack-horizon

我正在打包Horizo​​n插件。我有一堆模板,一个视图,以及css,js文件和图像。

应该包含所有内容,以便包是.deb或tarball。所以我现在将所有文件保存在/opt/stack/horizon/openstack_dashboard/dashboards/<my-dashboard-name>

我的问题是,如何正确包含js和css文件?有/opt/stack/horizon/openstack_dashboard/settings.py文件指定HORIZON_CONFIG.js_files,但它始终为空!我在那里放了一个文件列表,它仍然在模板中显示为空。所以问题是,我如何在Horizo​​n仪表板插件中包含js和css文件,以便将其打包在单个tarball或.deb包中?

1 个答案:

答案 0 :(得分:3)

您应该将静态文件存储在<my-dashboard-name>/static以下。最好命名静态文件,我使用以下目录结构:  <my-dashboard-name>/static/<my-dashboard-name>/jscss的{​​{1}}等等,然后我使用img引用HTML模板中的文件,这样就不会发生任何名称冲突。< / p>

当有人使用您的插件时,他们会提取您的信息中心并将其注册到正确的位置,然后他们还必须从基本的openstack_dashboard目录运行/static/<my-dashboard-name>/js/jsfile.js django管理命令(在您的情况下为collectstatic) ,要么:

/opt/stack/horizon/

$ ./run_tests.sh -m collectstatic

这应该根据站点的配置方式将静态文件复制到正确的位置。