Изучаю пирамиду (python) и борюсь с декоратором @view_config. Должно ли это просто работать из коробки? - PullRequest
4 голосов
/ 01 мая 2011

Я все еще изучаю пирамиду, и сейчас я пытаюсь научиться пользоваться декораторами.Ниже приведена копия моего вызываемого тестового представления.

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 Ответ

7 голосов
/ 01 мая 2011

Для того чтобы конфигурации, добавленные через @view_config, работали, вам нужно вызвать config.scan () в какой-то момент.

...