Flask是一个轻量级的Python Web框架,它遵循MVC(ModelViewController)设计模式,MVC是一种将应用程序的数据、业务逻辑和用户界面分离的方法,使得代码更加模块化、可维护和可扩展,下面是关于Flask MVC的详细介绍:

创新互联专注于英吉沙企业网站建设,响应式网站,商城网站建设。英吉沙网站建设公司,为英吉沙等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
1、Model(模型):模型负责处理数据和业务逻辑,在Flask中,可以使用SQLAlchemy等ORM(对象关系映射)库来处理数据库操作。
2、View(视图):视图负责展示数据给用户,在Flask中,可以使用模板引擎(如Jinja2)来生成HTML页面。
3、Controller(控制器):控制器负责接收用户请求,处理业务逻辑,并返回响应给用户,在Flask中,可以使用路由装饰器来定义URL与视图函数之间的映射关系。
以下是一个简单的Flask MVC示例:
1、安装Flask和Jinja2:
pip install Flask Jinja2
2、创建一个名为app.py的文件,编写以下代码:
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return f'<User {self.username}>'
@app.route('/')
def index():
users = User.query.all()
return render_template('index.html', users=users)
@app.route('/add', methods=['POST'])
def add_user():
username = request.form['username']
email = request.form['email']
user = User(username=username, email=email)
db.session.add(user)
db.session.commit()
return redirect(url_for('index'))
3、创建一个名为templates的文件夹,并在其中创建一个名为index.html的文件,编写以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF8">
<meta name="viewport" content="width=devicewidth, initialscale=1.0">
<title>用户列表</title>
</head>
<body>
<h1>用户列表</h1>
<table>
<tr>
<th>ID</th>
<th>用户名</th>
<th>邮箱</th>
</tr>
{% for user in users %}
<tr>
<td>{{ user.id }}</td>
<td>{{ user.username }}</td>
<td>{{ user.email }}</td>
</tr>
{% endfor %}
</table>
<a href="{{ url_for('add') }}">添加用户</a>
</body>
</html>
4、运行app.py文件:
python app.py
5、打开浏览器,访问http://127.0.0.1:5000/,查看用户列表页面,点击“添加用户”链接,输入用户名和邮箱,提交表单,即可看到新用户添加到用户列表中。