在 Flask 中,要优雅地实现 MVC(Model-View-Controller)模式,你需要将应用程序分为以下三个主要部分:
以下是一个简单的示例,展示了如何在 Flask 中实现 MVC 模式:
mkdir flask_mvc_example
cd flask_mvc_example
python3 -m venv venv
source venv/bin/activate
pip install Flask
app
的文件夹,然后在其中创建以下三个文件:__init__.py
:初始化 Flask 应用程序。models.py
:定义数据模型。views.py
:定义视图函数。controllers.py
:定义控制器函数。__init__.py
文件中,初始化 Flask 应用程序:from flask import Flask
app = Flask(__name__)
from app import views, controllers
models.py
文件中,定义一个简单的数据模型:class User:
def __init__(self, id, name):
self.id = id
self.name = name
@staticmethod
def get_user(user_id):
# 在实际应用中,这里可能会从数据库获取数据
return User(user_id, "John Doe")
views.py
文件中,定义视图函数:from flask import render_template
from app.models import User
def show_user_profile(user_id):
user = User.get_user(user_id)
return render_template("user_profile.html", user=user)
controllers.py
文件中,定义控制器函数:from flask import request
from app.views import show_user_profile
@app.route("/user/<int:user_id>/")
def user_profile(user_id):
return show_user_profile(user_id)
templates
的文件夹,然后在其中创建一个名为 user_profile.html
的文件,用于显示用户信息:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>User Profile</title>
</head>
<body>
<h1>User Profile</h1>
<p>ID: {{ user.id }}</p>
<p>Name: {{ user.name }}</p>
</body>
</html>
export FLASK_APP=app
export FLASK_ENV=development
flask run
现在,当你访问 http://localhost:5000/user/1/
时,应用程序将按照 MVC 模式显示用户信息。这种结构使得代码更易于维护和扩展。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。