首先我简单的介绍下django;django官网解释就是如下
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
但是它在开发者得嘴里可有着python最美框架,“美男子”之称;它是基于python最有代表性的web框架,
当我听到这个时,觉得还比较吸引我,简单学习了一下,如有不对之处还请各位大神纠正指出
介绍下django得特点:
好了简单介绍之后我们来看看在linux中django如何实现将图片生成一张二维码~ 这里我们就直接跳过前端页面上传图片的流程传输倒后台再去生成图片,我们简单的看下,如果直接将一张图片丢django项目中直接执行命令就可以生成一张带二维码得图片;
上篇文章已经输入如何搭建django服务,以及创建项目 创建应用,这里我们接着讲,介绍下项目下的文件信息
startproject 命令创建一个目录,包含4个文件:
文件如下:
__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
settings.py :该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值。
urls.py:Django项目的URL设置。 可视其为你的django网站的目录。 目前,它是空的。
尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。
在来介绍下项目下得应用app这里着重讲下views文件
app/
在django中views.py 文件可是说是项目的指挥中心,其实views.py文件的作用更像是我们之前提到的MVC模式中的“C”,也就是起到了项目控制的作用。这个文件没有必须的位置和名称,所有的文件使用views的时候都是通过import引用的,这就和你写一个普通的python模块一样。但是通常情况向我们会把这个控制模块以views.py为名称放到每一个app文件夹中,其他功能的模块文件取有一定意义的名字即可。由于有这种模块引用的需求,所以在django工程下的每个目录一般都会有__init__.py文件。
我们可以通过view对urls,模板,模型几个部分起到的作用来描述下这个文件的功能
简单介绍了下项目 应用文件信息 接下来讲讲怎么实现 图片生成二维码
这里前提我们要先安装下我们本次使用的模块库
pip3 install MyQR -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip3 install views -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip3 install app -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
首先我们安装几个必须的库,因为我们这次用到的就是qrcode库底层的myqr模块实现生成二维码
qrcode介绍地址:https://github.com/sylnsfar/qrcode/blob/master/README-cn.md
进入正题>>>
编写views文件,主要实现文件,简简单单十几行代码,调用模块>>myqr实现二维码代码(图二)
备注下几个主要字段
words字段:填写图片访问的地址,例如http://www.baidu.com
picture字段:传入要生成图片的名称,例如项目文件中有一张图片
***.png.这里可以直接写成 picture=‘***.png’
save_name:生成图片的名称 这里我们保持不变 赋值None
save_dir:保存的路径(自定义)
简简单单实现如下几处文件,基本都是需要用到的,
这里我们直接跳过前端上传文件 ,之前我有篇文章已经写过如果通过django实现前端页面上传文件,这里就不说了,直接看主要的,好了 ,我们可以开始生成了直接传入一张图片倒项目路径 project
直接在当前路径下执行命令
python3 myqr.py https://www.xuanwo001.com -p ./666.jpg
在ll一下查看是否生成666_qrcode.png ;这样我们的一张带二维码得图片就生成了。
具体操作命令以及图片传入传出为什么那样做参考这边文档
https://github.com/sylnsfar/qrcode/blob/master/README-cn.md
如果学习可以现在windows实践,比linux简单,很多库无需安装,pycharm自带。