Flask学习记录

2026-02-27 09:58

一、安装flask

# flask为框架信息,cross_origin 为设置跨域访问

pip install flask cross_origin



二、项目入口

from flask import Flask

from routes.login import bp as login

app = Flask(__name__)

# 注册登录模块

app.register_blueprint(login)

if __name__ == '__main__':

# 指定启动访问的ip及端口,0.0.0.0为任何IP均可访问

app.run(host='0.0.0.0', port=8070, debug=True)



三、model

# 创建models包

# 创建文件,extension.py

from flask_sqlalchemy import SQLAlchemy



# 创建唯一的SQLAlchemy实例

db = SQLAlchemy()



# 在终端窗口使用命令生成对应的model

flask-sqlacodegen --flask "mysql+pymysql://username:password@localhost/database" --table table_name --outfile "models/FileName.py"



四、创建routes

# 此路径下的文件为模块文件

# login.py

from flask import Blueprint, request, render_template

from flask_cors import cross_origin

from tools.tokenutil import *

from tools.msconn import *

from tools.returnutil import *

from tools.stringutil import record_log



bp = Blueprint('login', __name__, static_folder='static')



# 指定访问的路径及访问模式

@bp.route('/lg/userlogin', methods=['POST'])

@cross_origin(origin='*')

def user_login():

# 获取前端访问传参并转为json格式

dj = dict(request.values)

login_name = dj['loginName']

password = dj['password']

if not login_name or not password:

return return_fail('用户名或密码不能为空!')

# 使用model类自带的查询

pu = PenUser.query.filter_by(login_name=login_name).first()

# 不为空时执行

if pu:

# 在PenUser类中创建方法check_pwd(),校验密码是否一致

if pu.check_pwd(pwd=password):

userInfo = {

"loginName": pu.login_name,

"markerName": pu.marker_name,

}

try:

# 根据登录信息生成token

tk = create_token(userInfo)

except Exception as e:

print(e)

return return_fail("登录错误")

return return_success({'token': tk})

else:

return return_fail('用户名或密码错误!')

return return_fail('用户名或密码错误')

浏览 1
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报