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/
,查看用户列表页面,点击“添加用户”链接,输入用户名和邮箱,提交表单,即可看到新用户添加到用户列表中。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/479285.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复