繁体   English   中英

如何为特定视图创建Flask before_request视图?

[英]How create Flask before_request view for specific views?

我正在使用Flask构建一个系统,它包含一个应用程序的网站和api。 我为webview定义了一个before_request,如下所示:

@app.before_request
def before_request():
    g.user = current_user
    # And I do some more stuff here..

我在基于文件夹的结构中得到了我的观点,如下所示:

views (folder)
---------------
  - __init__.py
  - apiviews.py
  - webviews.py

因为我正在为api使用基于令牌的登录系统,我现在想要为所有apiviews定义不同的before_request。 有没有办法可以做到这一点? 也许我需要定义装饰器或什么? 欢迎所有提示!

您不能对特定视图使用before_request挂钩,而不能在同一个应用中使用。

您的选择是:

  • 为您的API和网站使用单独的Blueprint ; 可以为每个蓝图注册一个before_request ,它将仅应用于该蓝图的视图。
  • 使用每视图装饰器而不是before_request
  • 过滤before_request处理程序中的请求路径; if request.path.startswith(...)样式测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM