You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用变量传递Flask应用@app.route()的端点URL?

在Flask中使用变量定义路由URL

你完全可以按照设想的方式实现:预先用变量存储端点URL,再将变量传入@app.route()装饰器作为路由参数,写法和固定URL的方式几乎一致。

基础用法示例

from flask import Flask

app = Flask(__name__)

# 定义存储路由URL的变量
endpoint_url = '/flaskapp'

# 将变量传入装饰器
@app.route(endpoint_url, methods=["GET"])
def flask_app():
    return "Hello from the Flask app!"

if __name__ == '__main__':
    app.run(debug=True)

运行后访问http://localhost:5000/flaskapp就能正常触发视图函数,和使用固定字符串的效果完全相同。

注意事项

  • 变量定义时机:必须在@app.route()装饰器使用之前定义变量,否则Python解释器加载装饰器时会找不到变量,抛出NameError。
  • 动态批量生成路由的闭包陷阱:如果通过循环批量生成路由,直接使用循环变量会导致所有路由指向最后一个URL。解决方法是将循环变量作为视图函数的默认参数传入,确保每个路由绑定对应的值:
from flask import Flask

app = Flask(__name__)

# 批量路由列表
route_urls = ['/home', '/about', '/contact']

for url in route_urls:
    @app.route(url, methods=["GET"])
    def page_view(current_url=url):
        return f"You're visiting: {current_url}"

if __name__ == '__main__':
    app.run(debug=True)

内容的提问来源于stack exchange,提问作者prat_bit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 13:34:53