正在学习pyramid(python),我正在努力使用@view\u配置装饰器。它应该开箱即用吗?

正在学习pyramid(python),我正在努力使用@view\u配置装饰器。它应该开箱即用吗?,python,decorator,pyramid,Python,Decorator,Pyramid,我仍然在学习金字塔,我正在努力学习如何使用装饰器。下面是我的可调用测试视图的副本 from pyramid.response import Response from pyramid.view import view_config from pyramid.renderers import render_to_response def my_blog(request): return {'project':'tricky'} @view_config( renderer='templ

我仍然在学习金字塔,我正在努力学习如何使用装饰器。下面是我的可调用测试视图的副本

from pyramid.response import Response
from pyramid.view import view_config
from pyramid.renderers import render_to_response

def my_blog(request):
    return {'project':'tricky'}

@view_config( renderer='templates/foo.pt' )
def foo_blog(request):
    return {'name':'tricky'}
从我对view_config decorator的理解来看,它可以用来设置应用程序配置,而无需在配置文件中进行实际设置。在本例中,我将渲染器设置为templates/foo.pt。这是行不通的

但是,如果我在配置文件(init.py)中设置渲染器,如下所示:

它会起作用的


我是不是做错了什么,妨碍了我使用装饰器。谢谢

为了使通过@view\u config添加的配置能够工作,您需要在某个时候调用config.scan()

config.add_route( 'foo_blog' , '/blog/{foo}' ,  view='tricky.views.Blog.blog.foo_blog' renderer='tricky:templates/mytemplate.pt' )