微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python flask课堂内容整理

目录

一、 Flask的安装

pip install flask
我的python版本为3.5.6,flask版本为0.11.1,仅供参考
同时工程文件里需要新建文件夹templates来放html文件

二、人脸识别并将结果传回前端

代码
index.py

from flask import Flask,render_template
import cv2

app=Flask(__name__)

@app.route('/')
def index():
    outname1=detect('static/3.jpg')
    return render_template('index.html',outname1=outname1)

def detect(filename):
    face_cascade = cv2.CascadeClassifier('C:/Users/Administrator/Anaconda3/envs/deep learning/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml')

    img = cv2.imread(filename)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    for (x, y, w, h) in faces:
        img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
    outname1='static/face1.jpg'
    cv2.imwrite(outname1,img)
    return outname1


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

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>媒體大數據</title>
</head>
<body>
<img src="{{outname1}}" />
</body>
</html>

运行结果:

在这里插入图片描述

三、Flask+pyMysqL访问数据库

通过添加路由实现数据库的查,并将结果显示在前端
数据库为英语四六级词汇表,查询结果为前200个词,并提供搜索
代码将不会显示用到的数据库名及账户密码,请读者自行添加
代码
english.py

from flask import Flask,render_template,request
import pyMysqL

app=Flask(__name__)

@app.route('/english')
def english():
    db = pyMysqL.connect("localhost", "数据库用户名", "密码", "用到的数据库", charset='utf8')
    cursor = db.cursor()
    try:
        sql="select * from map_enword limit 200"
        cursor.execute(sql)
        rs = cursor.fetchall()
        rs = list(rs)
        print(rs)
    except:
        rs = 'db-error'
    print('py-db-error')

    db.close()
    return render_template('english.html',rs=rs)

@app.route('/search')
def search():
    wanted = request.args.get("wanted", type=str)
    if wanted == None:
        wanted = 'pineapple'
    db = pyMysqL.connect("localhost", "数据库用户名", "密码", "用到的数据库", charset='utf8')
    cursor = db.cursor()
    try:
        sql = "select * from map_enword where english like '%" + wanted + "%'"

        cursor.execute(sql)
        rs = cursor.fetchall()
        rs = list(rs)
        print(rs)
    except:
        rs = 'db-error'
        print('py-db-error')

    db.close()
    return render_template('english.html',rs=rs)


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

english.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>英语四六级词表</title>
</head>
<body>
<h1>英语四六级词表</h1>
<form action="/search">
        <input type="text" name="wanted" value="" default="apple">
        <input type="submit" value="搜索">
</form>

{% for r in rs %}
{{r}}<br>
{% endfor %}
</body>
</html>

运行结果:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐