4

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

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' )

它会起作用的。

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

4

1 回答 1

7

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

于 2011-05-01T13:55:02.347 回答