点击上方“背锅侠Tester”,从陌生到恋爱的感觉~

听说看超哥的文章会上瘾

不要把工作当作生活的工具,把工作当生意做;

愿自己身体健健康康家人平安

祝各位同上,2019更精彩@all

-Tester-也哥-

首先我简单的介绍下django;django官网解释就是如下:Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

但是它在开发者得嘴里可有着python最美框架,“美男子”之称;它是基于python最有代表性的web框架,

当我听到这个时,觉得还比较吸引我,简单学习了一下,如有不对之处还请各位大神纠正指出

一、介绍下django得特点:

1>功能完善、要素齐全:该有的、可以没有的都有,自带大量常用工具和框架,无须你自定义、组合、增删及修改。

2>完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。

3>强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习其他数据库访问技术(SQL、pymysql、SQLALchemy等)。

4>灵活的URL映射:Django使用正则表达式管理URL映射,灵活性高。新版的2.0,进一步提高了URL编写的优雅性。

5>丰富的Template模板语言:类似jinjia模板语言,不但原生功能丰富,还可以自定义模板标签,并且与其ORM的用法非常相似。

6>自带后台管理系统admin:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。

7>完整的错误信息提示:在开发调试过程中如果出现运行错误或者异常,Django可以提供非常完整的错误信息帮助定位问题。

好了简单介绍之后我们来看看在linux中django如何实现将图片生成一张二维码~ 这里我们就直接跳过前端页面上传图片的流程传输倒后台再去生成图片,我们简单的看下,如果直接将一张图片丢django项目中直接执行命令就可以生成一张带二维码得图片;

上篇文章已经输入如何搭建django服务,以及创建项目 创建应用,这里我们接着讲,介绍下项目下的文件信息

startproject 命令创建一个目录,包含4个文件:

文件如下:

1>__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。

2>manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。

3>settings.py :该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值。

4>urls.py:Django项目的URL设置。 可视其为你的django网站的目录。 目前,它是空的。

尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。

在来介绍下项目下得应用app这里着重讲下views文件

在django中views.py 文件可是说是项目的指挥中心,其实views.py文件的作用更像是我们之前提到的MVC模式中的“C”,也就是起到了项目控制的作用。这个文件没有必须的位置和名称,所有的文件使用views的时候都是通过import引用的,这就和你写一个普通的python模块一样。但是通常情况向我们会把这个控制模块以views.py为名称放到每一个app文件夹中,其他功能的模块文件取有一定意义的名字即可。由于有这种模块引用的需求,所以在django工程下的每个目录一般都会有__init__.py文件。

我们可以通过view对urls,模板,模型几个部分起到的作用来描述下这个文件的功能

urls文件匹配对应的URL,查找指定的函数进行URL处理,而这个处理函数即包含在views文件中。

1>django中模板多样的写法使前端的展现更加灵活,而这往往需要后端控制函数传递大量数据。Views文件中的函数匹配了对应的URL后会决定使用哪个模板,传递什么样的参数到模板

2>数据交互是后端功能最为重要的一部分。Views文件引入模型模块,可以进行数据过滤分析提取等数据库操作功能。此外,views文件还能够获取前端的请求,得到表单数据进行比对分析插入数据库等。

3>由于是前后端连接的桥梁,views在很大程度上还需要对安全性负责,有安全校验的作用

4>我们之前说过除了基本的网站控制我们还会写其他的“views”,都是逻辑及功能的补充,只是在命名上可以根据需求。比如验证码等功能可以单独写在一个文件中供其他文件调用。

简单介绍了下项目 应用文件信息 接下来讲讲怎么实现 图片生成二维码

这里前提我们要先安装下我们本次使用的模块库

pip3 install MyQR -i --trusted-host pypi.douban.com

pip3 install views -i --trusted-host pypi.douban.com

pip3 install app -i --trusted-host pypi.douban.com

首先我们安装几个必须的库,因为我们这次用到的就是qrcode库底层的myqr模块实现生成二维码

进入正题>>>

编写views文件,主要实现文件,简简单单十几行代码,调用模块>>myqr实现二维码代码(图二)

备注下几个主要字段

words字段:填写图片访问的地址,例如

picture字段:传入要生成图片的名称,例如项目文件中有一张图片

***.png.这里可以直接写成 picture=‘***.png’

save_name:生成图片的名称 这里我们保持不变 赋值None

save_dir:保存的路径(自定义)

编写项目文件中得urls文件,配置路由

编写项目文件中的settings.py文件设置下相关配置

简简单单实现如下几处文件,基本都是需要用到的,

这里我们直接跳过前端上传文件 ,之前我有篇文章已经写过如果通过django实现前端页面上传文件,这里就不说了,直接看主要的,好了 ,我们可以开始生成了直接传入一张图片倒项目路径 project

直接在当前路径下执行命令

在ll一下查看是否生成666_qrcode.png ;这样我们的一张带二维码得图片就生成了。

具体操作命令以及图片传入传出为什么那样做参考这边文档

如果学习可以现在windows实践,比linux简单,很多库无需安装,pycharm自带。大概了介绍下过程,实践过程碰到问题,多百度解决方案,深度学习

文部分来源网络,如有侵权请第一时间联系删除。

往期推荐:

看完本文有收获?请转发分享给更多人

+上方微信 入技术、招聘群,做顶级背锅侠

1.本订阅号专业抓取各大公司经典面试题,定期推送

2.测试从业者各项知识技术文档推送学习【自动化】【性能】【linux】【数据库】【安全】【python】【git】【面试】【领书】等

3.不定期在测试技术招聘群发送各大公司的招聘需求/推送红包/送书等活动;长按扫描下方二维码进行关注查阅更多精彩好文,领取资料。

The birth of life is a pleasant surprise.Life is you.

生命是惊喜,生活是你点赞与分享是中华人民传统美德