Flask

Prerequisite

之前学过 Flask【Python Web 开发(入门)】,也用它在实习公司做过项目,但久不用就忘了,现在回来随便补补

参考

配置环境

pip install flask
pip install -U Flask-SQLAlchemy
pip install mysqlclient
pip install Flask-Cors

生成数据(使用 Flask-SQLAlchemy)

PS:TMD 这个 SQLAlchemy 库太难用了,本来是为了图方便,结果这么垃圾!今后就用 pymysql 了!

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from flask import Flask, request, render_template
from flask_sqlalchemy import SQLAlchemy
from flask_cors import CORS

db = SQLAlchemy()
app = Flask(__name__)
CORS(app) # 允许跨域
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://root:root@127.0.0.1:3306/test"
db.init_app(app)


# 定义表的类型(类名=表名)
class Stu(db.Model):
    sid = db.Column(db.Integer, primary_key=True)
    sname = db.Column(db.String(50), unique=True)
    gender = db.Column(db.Integer, unique=True)
    address = db.Column(db.String(255), unique=True)


@app.route('/', methods=['GET'])
def home():
    return render_template('home.html')


@app.route('/json', methods=['GET'])
def json():
    """
    tables=db.metadata.tables # 仅打印出已经定义的类
    table_list = re.findall("\'.*?\'", str(tables)) # 找出全部列名
    table_list = [re.sub("'", '', each) for each in table_list] # 去掉多余双引号
    """
    stu = Stu.query.all()
    result = []  # 全部 JSON 形式的表单数据
    for i in range(len(stu)):
        sid = stu[i].sid
        sname = stu[i].sname
        gender = stu[i].gender
        address = stu[i].address
        json = {
            "sid": sid,
            "sname": sname,
            "gender": gender,
            "address": address
        }
        result.append(json)
    return result


if __name__ == '__main__':
    app.run(port=5000, debug=True)

URL 输入 http://127.0.0.1:5000/json

posted @ 2023-03-18 22:22  筱团  阅读(71)  评论(0编辑  收藏  举报