Phi*_*hil 3 python routing flask
我想知道,如果可能的话,如何使用单个文件(例如routes.py:)来映射路由,其程序分布在不同的python文件/模块中.
我怎样才能做到这一点?
我对Flask这个很新.我试图搜索,但我想没有使用正确的术语,我找不到解决方案.
我相信一定有办法.
谢谢.
如您所知,装饰器可用作函数:
@app.route('/')
def home():
return 'home'
Run Code Online (Sandbox Code Playgroud)
相当于:
def home():
return 'home'
home = app.route('/')(home)
Run Code Online (Sandbox Code Playgroud)
但是Flask已经有了特殊的方法add_url_rule.它用于route装饰器.
def home():
return 'home'
app.add_url_rule('/', None, home, {})
Run Code Online (Sandbox Code Playgroud)
因此,您可以创建特殊模块,其中将导入视图函数并添加路径add_url_rule.不要忘记在使用(导入)之前执行此代码.
add_url_rule正在创建Rule实例并将其添加到Flask.url_map,因此您还可以显式创建Rule并将其添加到url_map.但我希望这不需要你.
更新
随着Flask你也可以使用Lazily Loading Views,请参阅文件的细节:http://flask.pocoo.org/docs/patterns/lazyloading/.
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |