使用循环创建 Flask 端点

Dus*_*tin 0 python loops flask

我想创建从配置中读取的多个 Flask 端点。是否可以创建 for 或 while 循环来创建它们?端点地址是可变的,但我需要的数量没有限制。

我的想法是:

for x in myList: 
   @app.route(var, ...)
   def route():
      do smt ...
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助

Lin*_*Yan 5

您可以使用

app.add_url_rule(rule, endpoint=None, view_func=None, provide_automatic_options=None, **options)
Run Code Online (Sandbox Code Playgroud)

为了达成这个。例如:

for endpoint in endpoint_list:
    app.add_url_rule(endpoint['route'], view_func=endpoint['view_func'])
Run Code Online (Sandbox Code Playgroud)

查看文档

请注意,endpoint_list 包含端点的记录。它应该是一个字典列表,例如:

endpoint_list = [
    {
        "route": "/",
        "view_func": index
    },
    .....
]
Run Code Online (Sandbox Code Playgroud)

避免使用“list”作为变量名。它将覆盖 Python 的默认列表函数。