时间:2023-07-20 22:12:34 点击次数:7
随着移动应用的越来越方便,我们在设置网站时就必须要考虑移动端的体验,甚至有的网站就直接不做PC端了,而只做移动端 。Soogr CMS一直就是推荐大家将网站做成自适应的状态,这样可以有更好的浏览体验。有时为了方便我们更希望将用户转到移动端来浏览。那二维码就是一个不可缺少的存在。今天就和大家一起分享一下“Django如何生成二维码?Django如何实现扫码浏览”。
网上很多教程都是依赖于QR CODE的,现在这种方法已经不好用了,byteio在django3中也删了,但是有一新的插件“django-qr-code”使用起来更加方便,今天就把方法分享一下:
步骤
1.安装依赖包pip install django-qr-code2.在django,你项目的settings中,安装app
打开你项目的setting,找到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 mm。
6.version参数
version该参数是从 1 到 40 的整数,用于控制 QR 码矩阵的大小。设置为“无”可自动确定此值。最小的版本 1 是 21 x 21 矩阵。最大的版本 40 是 177 x 177 矩阵。尺寸每侧增加 4 个模块。
通过上面这两个参数大家就可以尝试调整这两个参数来调整大小了
7。{% qr_url_from_text %}
{% qr_url_from_text "Hello World!" %}在官方教程当中说明使用下面代码
<img src="{% qr_url_from_text "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),作为Web颜色名称(如“red”)或十六进制值#RRGGBB (即“#085A75”)。None为透明
dark_color:为二维码黑点的颜色,颜色值同上,None为透明
官方教程当中还批出有批模块样式:
设置深色模块的(默认)颜色。
设置光源模块的(默认)颜色。
设置深色对齐图案模块的颜色。
微型QR码没有对齐模式。
设置灯光对齐图案模块的颜色。
微型QR码没有对齐模式。
设置深色模块的颜色。
微型QR码没有黑暗模块。
设置深色数据模块的颜色。
设置光源数据模块的颜色。
设置取景器图案的深色模块的颜色。
设置取景器图案的光源模块的颜色。
设置格式信息的深色模块的颜色。
设置格式信息的光源模块的颜色。
设置安静区域的颜色。
设置分隔符的颜色。
设置时序模式的深色模块的颜色。
设置时序图案的灯光模块的颜色。
设置版本信息的深色模块的颜色。
微型QR码和小于版本7的QR码不携带任何版本信息。
设置版本信息的灯光模块的颜色。
微型QR码和小于版本7的QR码不携带任何版本信息。
安装模块:
pip install django-qr-codesettings.py引入app
INSTALLED_APPS = ( ..., qr_code,)html:
{% load qr_code %}{% qr_from_text request.build_absolute_uri size="10" version=3 light_color="#FFFFFF" %}举报/反馈