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

Chr*_* D. 4 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'}
Run Code Online (Sandbox Code Playgroud)

根据我对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' )
Run Code Online (Sandbox Code Playgroud)

它会工作.

我做错了什么阻止我能够使用装饰器.谢谢!

Chr*_*ugh 7

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