Usage¶
API¶
首先你需要在你APP的views中,继承CabinetViews类,该类提供三个API。
template_name¶
用于指定渲染机柜的模版
cabinet_cells¶
提供总共需要多少个机柜
example¶
from cabinet_structure.views import CabinetViews
class MyViews(CabinetViews):
template_name = 'MyAPP/MyAPP.html'
cabinet_cells = 8
# rack_rows = 42
Note
cabinet_cells可以手工填写;但更推荐从数据库中进行计算.
CSS¶
需要引入bootstrap框架以及本项目有关的样式套件cabinet_style.css
example¶
{% load staticfiles %}
......
<head>
......
<link href="{% static '....bootstrap.min.css' %}" rel="stylesheet">
<link rel="stylesheet" href="{% static 'cabinetmaps/css/cabinet_style.css' %}">
......
</head>
Templates¶
example¶
....
<div ....>
{{ cabinet_data }}
</div>
....
{{ cabinet_data }}¶
在模版中指定一下标签变量{{ cabinet_data }}, 该标签涵盖了所有生成后的机柜HTML信息
查看机柜编号¶
生成后的机柜图,通过HTML可以查看,如下所示
- 机柜编号
下面html示例中,假设类 rack-title
下的 <p>
里标注的A1......即为 机柜编号
<tr><td class="rack" ......>
<font class="rack-title"><p>A1</p></font></td>
</tr>
......
<tr><td class="rack" ......>
<font class="rack-title"><p>A9</p></font></td>
</tr>
- 机柜上的的导轨编号
下面html示例中,假设类 rack
下的 <id>
里标注的信息,如 id=4
, id=12
即为 机柜的导轨编号
.......
<tr><td class='rack' align='center' valign='bottom' id='4'></td></tr>
.......
<tr><td class='rack' align='center' valign='bottom' id='12'></td></tr>
Note
在之后的版本中,对于机柜编号的定制会得到加强,并提供数据填充的API.
Settings¶
-
django.conf.settings.
MAX_CABINET_ROWS_NUM
¶ Default: 6
用于指定页面每行中显示多少个机柜
example¶
假设指定页面每行显示7个机柜
# in settings.py
MAX_CABINET_ROWS_NUM = 7
.. warning::
目前'开发测试版'中,试图设置该参数,会导致前端样式的显示问题,在之后的版本中会修复,请多关注!
Demo¶
- 从git上克隆 https://github.com/boylegu/django-dynamic-cabinetmaps.git
- 然后进入
demoapp
python manage.py runserver
- 通过浏览器访问
http://127.0.0.1:8000/cabinetmaps/
Note
目前demo是需要django 1.6运行