在flask中使用blue_print,以及SQLAlchemy

2020-02-26  本文已影响0人  孙宏志

1. 新建一个user 的 python包

在PyCharm 中,右击项目 new --> python package, 最后结果为:


image.png

2. 将生成的models 拷贝到该目录下

结果应该为


image.png

3. 在user 目录下新建 urls.py 用来做路由及相关事务处理

引入BluePrint

from flask import Blueprint

使用BluePrint

user_route = Blueprint("user",__name__)

4. 将BluePrint注册到主App中

打开app的主文件,新增以下内容

from user.urls import user_route
app.register_blueprint(user_route, url_prefix='/user')

5. 新增访问路由

在user模块下的urls.py 中新增

@user_route.route('/add',methods=["POST"])
def add_user():
    if request.method == 'POST':
        data = request.get_data()
        json_data = json.loads(data.decode("utf8"))
        user_no=json_data.get("user_no")
        name=json_data.get("name")
        mobile=json_data.get("mobile")
        email=json_data.get("email")
        u = User(user_no=user_no,name=name,mobile=mobile,email=email)
        db.session.add(u)
        db.session.commit()
        return jsonify(msg='add successfully')

@user_route.route('/')
def get_list():
    users = User.query.all()
    data=[]
    for user in users:
        data.append(serialize(user))
    print(data)
    return jsonify(data=data)

6. 访问结果:

新增用户.png 列表用户.png

7. SQLAlchemy的分模块

因SQLAlchemy的db每个模块都需要用到,因此最好单独拆分出来
在项目的根目录新增一个database.py

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
上一篇下一篇

猜你喜欢

热点阅读