Flask - 路由
Flask – 路由
Section titled “Flask – 路由”路由是将 URL(你在浏览器中输入的地址或 API 客户端请求的地址)映射到 Flask 应用程序中特定 Python 函数(用于处理这些 URL)的机制。这使你能为 Web 应用程序的不同部分创建清晰、易记的 URL。
使用 @app.route() 装饰器
Section titled “使用 @app.route() 装饰器”在 Flask 中定义路由最常用的方式是使用 app.route() 装饰器。将此装饰器直接放在你想与特定 URL 规则关联的 Python 函数(通常称为 视图函数)上方。
from flask import Flask
app = Flask(__name__)
# 将 URL '/' 绑定到 index() 函数@app.route('/')def index(): return 'Welcome to the Home Page!'
# 将 URL '/hello' 绑定到 hello_world() 函数@app.route('/hello')def hello_world(): return 'Hello, World!'
if __name__ == '__main__': app.run(debug=True)在此示例中:
- 在浏览器中访问
http://localhost:5000/将触发index()函数,显示 ‘Welcome to the Home Page!’。 - 访问
http://localhost:5000/hello将触发hello_world()函数,显示 ‘Hello, World!’。
使用 add_url_rule()
Section titled “使用 add_url_rule()”或者,你可以使用 Flask 应用程序对象的 add_url_rule() 方法实现相同的结果。这对于典型的视图函数不太常用,但在某些高级场景或以不同方式组织路由时会很有用。
from flask import Flask
app = Flask(__name__)
def about_page(): return 'This is the About Page.'
# 相当于使用 @app.route('/about') 装饰器app.add_url_rule('/about', 'about', about_page)# 参数:URL 规则,端点名称(必须唯一),视图函数
if __name__ == '__main__': app.run(debug=True)在此,访问 http://localhost:5000/about 将执行 about_page 函数。add_url_rule() 的第二个参数 'about' 是 端点(endpoint) 名称。Flask 内部使用端点,它们在使用 url_for() 生成 URL 时尤其重要(将在另一节介绍)。使用 @app.route() 装饰器时,端点名称默认为视图函数的名称。
对于大多数应用程序,@app.route() 装饰器提供了一种更简洁、更易读的方式来定义你的 URL 路由。