确保使用自定义装饰器装饰金字塔应用程序中的每个视图

LetMeSOThat4U

根据http://pyramid-cookbook.readthedocs.org/en/latest/views/chaining_decorators.html,我可以装饰一个金字塔视图:

@view_config(decorator=a_special_decorator, renderer='json')
def myview(request):
    return {'a':1}

可以,但是我需要确保Pyramid应用程序中的每个视图都装饰有a_special_decorator有没有一种方法可以确保在实时应用程序或测试阶段都可以做到这一点?

大田美子

我认为更好的方法是:使用基于类的视图,并从具有要添加的功能的同一基类继承所有视图。

但是,如果您想装饰应用程序中的所有视图,将采用以下方法

  • 创建一个scan()将Python模块作为输入并读取的方法,有点类似于Pyramid自己的扫描

  • 如果scan()找到视图函数签名,则它将装饰该函数并就地替换模块中的原始函数

  • 在字母Pyramid本身扫描模块之前调用您的自定义扫描,以便Pyramid将获取“固定”功能

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用@view_defaults和@view_config装饰器的金字塔视图类继承

金字塔装饰链

在金字塔视图中使用自定义配置

如何使自定义装饰器对vue.js 2应用程序全局可用?

应用函数并使用装饰器检查自定义异常

Tornado 中的自定义装饰器

TypeScript中的自定义装饰器

金字塔开源Web应用程序

在Elastic Beanstalk上部署金字塔应用程序

测试期间,如何在金字塔应用程序中为SqlAlchemy模型类使用其他架构

如何在Gnome3中为单个非GTK3应用程序窗口自定义窗口装饰器?

在金字塔python框架中修改源代码时如何重启应用程序?

如何在金字塔支架框架中添加您的应用程序特定设置?

应在何时/何处在金字塔应用程序中验证openid令牌?

金字塔:URL Dispatch(混合)应用程序中的资源树

启动金字塔应用程序时使用粘贴“调用”方案

类视图集的自定义装饰器

VSCode扩展中的自定义视图装饰

Django Rest框架中基于类的视图的自定义装饰器

如何在默认Django Auth登录视图中使用自定义装饰器

金字塔与数组中的每个项目

金字塔中的不同登录视图

Angular2:是否使用自定义装饰器或注释将提供程序注入组件?

如何在Django中编写自定义装饰器?

如何在Django中制作自定义装饰器?

为什么我的简单金字塔应用程序不能与pexpect一起使用?

更改Flask和自定义装饰器的顺序会破坏自定义装饰器

金字塔-静态应用程序无法在apswsgi模块下找到静态资源

如何在金字塔复合项目中计算跨应用程序的URL?