利用flask框架生成二维码

先来给大家介绍一个网站草料网,这个网站是专门来生成二维码的。我们要利用Python完成其中的一个功能,就是根据URL地址生成二维码。


草料网

flask框架

先来给大家介绍一下flask框架,flask框架是单文件微架构,轻量级Python web框架 在此基础上你可以使用你喜欢的方式来开发,对于有基础的同学,可以最大的解放你的战斗力。
这是flask的文档:http://docs.jinkan.org/docs/flask/
建议大家学习的时候可以参考官方的文档。
一个最小的 Flask 应用看起来会是这样:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

接下来可以自己定义一些路由和方法来完成生成二维码的功能。

生成二维码

这里需要安装两个模块,qrcode以及pillow,PIL这个库在Python2和Python3中安装有些不一样,在Python2中直接pip install PIL就可以了,但是在Python3中需要安装pillow。

import qrcode
from PIL import Image
def get_code(url):
    # 生成二维码图片对象
    img = qrcode.make(url)
    path = 'static/images/1.png'
    img.save(path)
    return path

flask框架路由

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        do_the_login()
    else:
        show_the_login_form()

接下来可以自己定义一个路由,来接收前端页面发送过来的URL地址

@app.route('/url',methods=['GET','POST'])
def url():
    if request.method == 'GET':
        return render_template('index.html')
    else:
        url = request.form['url']
        imgurl = ercode.url(url)
        # return imgurl

        return render_template('img.html',imgurl = imgurl)

flask框架模板

用 Python 生成 HTML 十分无趣,而且相当繁琐,因为你必须手动对 HTML 做转义来保证应用的安全。为此,Flask 配备了Jinja2模板引擎。

你可以使用render_template方法来渲染模板。你需要做的一切就是将模板名和你想作为关键字的参数传入模板的变量。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<form action="/url" method="post">
    url: <input type="text" value="http://" name="url"><br>
    <input type="submit" value="生成二维码">
</form>
</body>
</html>

到这里基本上利用flask框架完成生成二维码的功能就完成了。

更多Python有趣的文章,微信搜索公众号【极客夜读】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容