使用Flask框架的整体流程

本文详细介绍Flask框架的使用流程,包括主程序运行、路由与视图函数设置、用户数据处理、数据库操作及前端页面渲染。从实例化Flask对象到数据库迁移管理,全面解析Flask开发过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Flask框架的整体流程

自己使用的一些整理,若有纰漏,敬请指出。

Flask框架

需要的模块 flask 里的 Flask

1.主程序(run)

首先实例化对象 app = Flask(name)
app.config[‘SECRET_KEY’] = random._urandom(24) # 生成一个密钥

2. 建立路由联系、 写视图函数(views)

@app.route(’\xxxx’)
def index():
if/else/… # 判断
get mysql values # 获取数据库中数据
return render_template(’.html’(,values)) # 渲染模版 及传入参数
(return rediect(url_for(views))) # 重定向另一视图函数

3. 获取用户上传数据

需要导入模块 from flask import requests

@app.route(’/todo/add/’, methods=[‘POST’,‘GET’])
保密使用POST GET会在url上显示用户数据

  1. 数据库操作(models)
    导入flask数据模块 from flask-sqlalchemy import SQLALchemy

数据库链接
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘mysql+pymysql://root:westos@localhost/Todo’
‘mysql+pymysql://用户:密码@哪里操作/数据库名称’

建立数据库表

db.Column函数指定了数据库中字段的类型

db.Integer 整型 db.String(50) 字符型 db.DateTime 时间型

autoincrement=True 自动累计 primary_key=True 主关键字 unique=True 唯一 nullable=False 是否为空

db.ForeignKey(‘department.id’) 外键 用于获取另外一个表的值 即部门在用户处记录为1 在部门表中1代表xx部 可以减少用户存储的数据量 (1个数字与若干个汉字)

db.relationship(‘User’,backref=‘department’) 反向链接 返回与’User’类 相关联的用户组成的列表

class User(db.Model):
    id = db.Column(db.Integer,autoincrement=True,primary_key=True)

db.create_all()     # 创建所有表
db.drop_all()       # 删除所有表
添加数据
u1 = User(name='westos1',pwd='westos',department_id=1)      # 实例化
db.session.add(u1)            # 添加
db.session.commit()           # 提交
    name = db.Column(db.String(50),unique=True,nullable=False)

5. 管理数据库(manage)

需要flask-migrate 及 flask-script 模块

from flask_migrate import  Migrate, MigrateCommand
from flask_script import  Shell, Manager
分别实例化
manager = Manager(app)      # 支持启动应用程序的命令行
migrate = Migrate(app,db)   # 支持数据库迁移
添加一条数据库迁移管理命令
manager.add_command('db',MigrateCommand)
添加一条命令,可以显示所有的用户
@manager.command
def showUser():
    """显示所有的用户"""
    users = User.query.all()
    print(users[:5])
if __name__ == '__main__':
    manager.run()

完成manage数据库之后,进入命令行
本机的话,启动进入虚拟环境
使用命令运行manage程序 python manage
查看可使用的命令

对于记录数据库版本的步骤
没有创建数据库时

python manage db init # 选择数据库进行初始化
python manage migrate -m “注释”
python manage upgrade

6. 前端页面(templates)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值