下面是一个简单的 Flask 应用,其中包含两个 URL 处理器:
from flask import Flask
app = Flask(__name__)
# 第一个 URL 处理器,处理根路径
@app.route('/')
def index():
return 'Hello, this is the home page!'
# 第二个 URL 处理器,处理 /about 路径
@app.route('/about')
def about():
return 'This is the about page.'
if __name__ == '__main__':
app.run(debug=True)
在这个例子中,@app.route('/') 和 @app.route('/about') 是装饰器,用于将下面的函数注册为特定路径的处理器。当用户访问根路径 / 时,将调用 index 函数;访问 /about 时,将调用 about 函数。
在更复杂的应用中,你可能会使用蓝图(Blueprints)来组织和模块化你的 URL 处理器。蓝图允许你将相关的视图函数和资源组织在一起,使代码更易于维护和扩展。
以下是一个简单的使用蓝图的例子:
from flask import Flask, Blueprint
app = Flask(__name__)
# 创建一个蓝图
main_bp = Blueprint('main', __name__)
# 在蓝图上注册 URL 处理器
@main_bp.route('/')
def index():
return 'Hello, this is the home page!'
@main_bp.route('/about')
def about():
return 'This is the about page.'
# 在应用上注册蓝图
app.register_blueprint(main_bp, url_prefix='/main')
if __name__ == '__main__':
app.run(debug=True)
在这个例子中,main_bp 是一个蓝图,包含了两个视图函数 index 和 about。通过 app.register_blueprint(main_bp, url_prefix='/main'),我们将这个蓝图注册到应用中,并指定了 URL 前缀为 /main。因此,index 函数将通过 /main/ 路径访问,about 函数将通过 /main/about 路径访问。
这样的组织结构使得应用更易于扩展和维护,特别是在处理复杂的 URL 结构时。
转载请注明出处:http://www.zyzy.cn/article/detail/7354/Flask