Django如何生成用于扫描和导航的二维码?
如何用Django生成二维码?
许多在线教程都依赖于二维码。这个方法已经不太好用了。byteio也从django3中删除了它,但有一个新的插件“django-qr-code”,它更容易使用。今天分享一下具体做法:
步骤
1. 安装依赖包
pip install django-qr-code
2. 在 django 中,在你的项目设置中,安装应用程序
打开你的项目设置,找到 INSTALLED_APPS 并在此处添加 ' qr_code'
示例:
INSTALLED_APPS = (
...,
'qr_code',
)
3。在你要复制的html文档中插入模板
首先是当前模板引用符号:{% load qr_code %}
ps:如果用你的html的话继承的话就不是这句话一定要放句下。遗产例如,页面
{% extends 'detail/base.html' %}
{% load qr_code %}
4.html导入
标签并渲染svg标签:
{% qr_from_text "Hello World!" size="T" %}
img标签渲染:
{% qr_from_text "Hello World!" size="m" image_format="png" error_correction="L" %}
5。二维码 尺寸: size
{% qr_from_text 'soogor' size="10" %}
size可以直接用下面的英文字线,如
size="m"
- t 或 T:小(值:6)
- s 或 S:小(值:12)
- m 或 M:中(值:18) l 或L:大(值:30)
- h 或 H:大(值:48)
对于 PNG 格式,尺寸单位为像素,对于 SVG 格式,尺寸单位为 1 毫米。
6.version参数
version 该参数是1到40之间的整数,用于控制二维码矩阵的大小。设置为“无”可自动确定该值。最小的版本 1 是一个 21 x 21 的矩阵。最大的版本 40 是一个 177 x 177 的矩阵。尺寸每边增加 4 个模块。
有了以上两个参数,你可以尝试调整这两个参数来调整大小
7. {%%20qr_url_from_text%20%}
{%%20qr_url_from_text%20"Hello World!" %}
官方教程中说可以使用下面的代码获取图片链接
<img Hello World!" %}" alt="Hello World!">
,但是当你尝试的时候却说你没有“q_code”这个命名空间。考虑到项目进度,还没有深入研究
8。二维码颜色:
{% qr_from_text '' size="2" version=3 light_color='#7a6e6e' dark_color='ffffff' %}
light_color:是基本颜色,颜色值可以作为元组
(R,G,B),作为网上的颜色名称(如“红色”)或十六进制值 #RRGGBB
(又名“#085A75”)。无透明度
dark_color:这是二维码中黑点的颜色。颜色值与上面相同。无透明度
官方教程还批准了一组mod类型:
dark_color
设置深色(默认)。
light_color
设置灯光模式的颜色(默认)。
alignment_dark_color
设置深色对齐模式颜色。
微型二维码没有对齐图案。
alignment_light_color
设置灯光对齐模式颜色。
微型二维码没有对齐图案。
dark_module_color
设置暗模块的颜色。
微二维码,无暗模块。
data_dark_color
设置暗数据模式颜色。
data_light_color
设置光源数据模型的颜色。
finder_dark_color
设置取景器图案的深色模式颜色。
finder_light_color
设置取景器图案的灯光模式颜色。
format_dark_color
设置格式信息的深色模式颜色。
format_light_color
在格式信息中设置灯光模板颜色。
quiet_zone_color
设置安静区颜色。
separator_color
设置分隔符颜色。
timing_dark_color
设置定时模式下深色模式的颜色。
timing_light_color
设置定时图案中灯光模式的颜色。
version_dark_color
设置版本信息的深色模式颜色。
Micro二维码和小于版本7的二维码不携带版本信息。
version_light_color
设置版本信息的灯光模式颜色。
Micro二维码和小于版本7的二维码不携带版本信息。?
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。