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# 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('用户名或密码错误')
评论
