Flask
Prerequisite
之前学过 Flask【Python Web 开发(入门)】,也用它在实习公司做过项目,但久不用就忘了,现在回来随便补补
参考
- Flask 官方网站:Flask
- Flask-SQLAlchemy 官方网站:Flask-SQLAlchemy
- 文章:Flask 快速使用 SQLAlchemy
配置环境
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
喜欢划水摸鱼的废人