Python Flask蓝图使用

使用示例:

user.py

python 复制代码
from utils.sql import supabase
from flask import Blueprint,request, session
from utils.entity import r
user_bp = Blueprint('user', __name__, url_prefix='/user')

"""----------------------------------------
                API: 用户登录
-------------------------------------------"""
@user_bp.route('/login', methods=['POST'])
def user_login():
    reqJSONData = request.get_json(silent=True)

    if not reqJSONData: return r(code=401, msg='注册失败, 请求参数为空')
    username = reqJSONData.get('username')
    password = reqJSONData.get('password')

    if not all([username, password]):
        return r(code=401, msg='登录, 缺少请求参数')

    user = supabase.table('sys_user').select('*').eq('username',username).eq('password',password).execute().data
    # 4. 用户不存在, 直接返回
    if not user:
        return r(code=404, msg='用户名或密码错误')
    else:
        session['user_info'] = user
        return r(msg='登录成功', data=user)

@user_bp.route('/list', methods=['POST','get'])
def userList():
    user = supabase.table('sys_user').select('*').execute().data
    return user

app.py(也就是主文件)

python 复制代码
from flask import Flask
from flask_cors import CORS
from utils.entity import r

from api.user.user import user_bp
# 创建 Flask 实例
app = Flask(__name__)
app.register_blueprint(user_bp)

CORS(app, supports_credentials=True,resources=r'/*')

@app.route('/', methods=['GET'])
def hello():
    return r(code=200, msg='服务器访问成功!')

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

总结:

在单文件中创建蓝图:user_bp = Blueprint('user', name, url_prefix='/user')

在主文件中注册蓝图:app.register_blueprint(user_bp)

注意:

  1. 主文件中需要引入一下创建的蓝图
  2. 在app.run之前注册蓝图
相关推荐
无须logic ᭄3 分钟前
CrypTen项目实践
python·机器学习·密码学·同态加密
百流15 分钟前
scala文件编译相关理解
开发语言·学习·scala
Channing Lewis16 分钟前
flask常见问答题
后端·python·flask
Channing Lewis17 分钟前
如何保护 Flask API 的安全性?
后端·python·flask
水兵没月1 小时前
钉钉群机器人设置——python版本
python·机器人·钉钉
Evand J1 小时前
matlab绘图——彩色螺旋图
开发语言·matlab·信息可视化
我想学LINUX2 小时前
【2024年华为OD机试】 (A卷,100分)- 微服务的集成测试(JavaScript&Java & Python&C/C++)
java·c语言·javascript·python·华为od·微服务·集成测试
深度混淆2 小时前
C#,入门教程(04)——Visual Studio 2022 数据编程实例:随机数与组合
开发语言·c#
雁于飞2 小时前
c语言贪吃蛇(极简版,基本能玩)
c语言·开发语言·笔记·学习·其他·课程设计·大作业
wenxin-3 小时前
NS3网络模拟器中如何利用Gnuplot工具像MATLAB一样绘制各类图形?
开发语言·matlab·画图·ns3·lr-wpan