为netbox对象生成二维码
项目描述
Netbox二维码插件
Netbox插件,用于为对象生成二维码:机架、设备、线缆。
兼容性
插件版本 | NetBox版本 | 测试于 |
---|---|---|
0.0.11 | >= 3.7.0 | 3.7.x |
0.0.13 | >= 4.0.2 | v4.0.2 |
安装
如果按照标准安装说明安装了Netbox,可能需要激活虚拟环境。
source /opt/netbox/venv/bin/activate
该插件作为Python包在pypi中提供,可以使用pip进行安装
pip install netbox-qrcode
在/opt/netbox/netbox/netbox/configuration.py中启用插件
PLUGINS = ['netbox_qrcode']
重启NetBox并将netbox-qrcode
添加到您的local_requirements.txt中
配置
以下选项可用
-
with_text
: 布尔值(默认True)。如果启用,将在二维码图像中添加文本标签。 -
text_template
: 以{{ obj }}为上下文的Jinja2模板,使用它将忽略text_fields
和custom_text
-
text_fields
: 字符串列表(默认['name'])。将作为文本标签添加到二维码图像的对象的文本字段。可以使用自定义字段值。 -
font
: 字符串(默认 TahomaBold)文本标签的字体名称(某些字体包含在包中,请参阅fonts目录)。 -
text_location
:文本渲染位置,相对于二维码。有效值包括"right"(默认)
、"left"
、"up"
和"down"
。 -
custom_text
:字符串或None(默认None),用于二维码图像的附加文本标签(将在text_fields之后添加)。 -
qr_version
:整数(默认1),参数是一个从1到40的整数,用于控制二维码的大小(最小的版本1是一个21x21的矩阵)。 -
qr_error_correction
:整数(默认0),用于控制二维码的错误纠正。以下值可用1 - 大约7%或更少的错误可以被纠正。0 - 大约15%或更少的错误可以被纠正。2 - 大约30%或更少的错误可以被纠正。3 - 大约25%或更少的错误可以被纠正。
-
qr_box_size
:整数(默认6),控制二维码中每个“方块”的像素数。 -
qr_border
:整数(默认4),控制边框的厚度(默认值为4,根据规范的最小值)。
每个对象的选项
每个对象的选项覆盖默认选项。每个对象的选项字典可以包含任何默认选项。
device
:字典或None(默认{'text_fields': ['name', 'serial']}),设置为None以禁用二维码rack
:字典或None(默认{'text_fields': ['name']}) ,设置为None以禁用二维码cable
:字典或None (默认 {'text_fields': ['_termination_a_device', 'termination_a', '_termination_b_device', 'termination_b',]}), 设置为None以禁用二维码
配置示例
PLUGINS_CONFIG = {
'netbox_qrcode': {
'with_text': True,
'text_fields': ['name', 'serial'],
'font': 'ArialMT',
'font_size': 12, # If the value is 0 or the line does not exist, then the text is automatically adjusted
'custom_text': 'Property of SomeCompany\ntel.8.800333554-CALL',
'text_location': 'up',
'qr_version': 1,
'qr_error_correction': 0,
'qr_box_size': 4,
'qr_border': 4,
# per object options
'cable': None, # disable QR code for Cable object
'rack': {
'text_fields': [
'site',
'name',
'facility_id',
'tenant',
'cf.cf_name'
]
},
'device': {
'qr_box_size': 6,
'custom_text': None,
}
}
}
贡献
基于ntc-netbox-plugin-onboarding仓库开发此项目的工具。
欢迎提交问题和拉取请求。
屏幕截图
带有文本标签的设备二维码
机架二维码
线缆二维码