gpt4 book ai didi

python - 如何使用单个文件而不是装饰器在 Flask 中集中路由?

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:15 24 4
gpt4 key购买 nike

如果可能的话,我想知道如何使用单个文件(例如:routes.py)来映射路由,其中​​的过程分布在不同的 python 文件/模块中。

我该怎么做?

我对 Flask 和这个还很陌生。我尝试搜索,但我想是因为没有使用正确的术语,我找不到解决方案。

我相信一定有办法。

谢谢。

最佳答案

如您所知,装饰器作为函数工作:

@app.route('/')
def home():
return 'home'

相当于:

def home():
return 'home'

home = app.route('/')(home)

但是 Flask 已经有专门的方法 add_url_rule 了。在route装饰器中使用。

def home():
return 'home'

app.add_url_rule('/', None, home, {})

因此您可以创建特殊模块,其中将导入 View 函数并使用 add_url_rule 添加路由。不要忘记在使用(导入)之前执行此代码。

add_url_rule 正在创建 Rule 实例并将其添加到 Flask.url_map,因此您也可以显式创建 Rule 并将其放入 url_map。但我希望这对你来说不需要。

更新

通过Flask,您还可以使用Lazily Loading Views,请参阅文档中的详细信息:http://flask.pocoo.org/docs/patterns/lazyloading/ .

关于python - 如何使用单个文件而不是装饰器在 Flask 中集中路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20018631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com