学习金字塔(python)并且正在与@view_config装饰器进行斗争。它应该开箱即用吗?

时间:2011-05-01 07:05:08

标签: 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='templates/foo.pt' )
def foo_blog(request):
    return {'name':'tricky'}

根据我对view_config装饰器的理解,它可用于设置应用程序配置,而无需在配置文件中实际设置它们。在本例中,我将渲染器设置为templates / foo.pt。这不起作用。

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

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

它会起作用。

我做错了什么导致我无法使用装饰器。谢谢!

1 个答案:

答案 0 :(得分:7)

为了使通过@view_config添加的配置正常工作,您需要在某个时刻调用config.scan()。