flask-MTV模式


所谓的MTV ( Model–Template–View ),翻译一下就是模型、模板、视图


一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户

### Flask中的MTV模式 #### 模型(Model) 模型负责处理数据逻辑,通常涉及数据库操作。在Flask应用中,可以使用诸如SQLAlchemy这样的ORM工具来定义和管理模型[^3]。 ```python from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) def __repr__(self): return '<User %r>' % self.username ``` #### 模板(Template) 模板用于展示给用户的界面部分,在Flask里通常是HTML文件加上Jinja2语法实现动态内容渲染。开发者可以在视图函数中传递变量到模板环境中去[^1]。 ```html+jinja <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Users List</title> </head> <body> <ul> {% for user in users %} <li>{{ user.username }}</li> {% endfor %} </ul> </body> </html> ``` #### 视图(View) 视图充当控制器的角色,接收HTTP请求并调用相应的业务逻辑方法,最后选择合适的响应方式返回给客户端。这一步骤可能涉及到查询数据库获取数据或者执行其他的操作[^4]。 ```python from flask import render_template @app.route('/users') def show_users(): users = User.query.all() return render_template('show_users.html', users=users) ``` 通过这种结构化的设计思路,使得Web应用程序更加模块化易于维护和发展壮大。每个组件都有明确职责范围内的工作要做,从而提高了整个系统的可读性和灵活性[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值