Per 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
进行修饰。有没有办法确保在实时应用程序或测试阶段确实如此?
答案 0 :(得分:0)
我认为更好的方法是:使用基于类的视图,并从具有您尝试添加的工具的同一基类继承所有视图。
但是,如果您想要在应用程序中装饰所有视图,那么方法将遵循
创建一个scan()
方法,该方法将Python模块作为输入并读取,有点类似于Pyramid自己的扫描
如果您的scan()
找到了一个视图函数签名,它会修饰该函数并就地替换模块中的原始函数
在字母Pyramid本身扫描模块之前调用您的自定义扫描,以便Pyramid将选择“固定”功能