我还在学习金字塔,而我正在努力学习如何使用装饰器。下面是我的测试视图可调用的副本。
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' )
它会起作用。
我做错了什么导致我无法使用装饰器。谢谢!
答案 0 :(得分:7)
为了使通过@view_config添加的配置正常工作,您需要在某个时刻调用config.scan()。