피라미드 구성자에서 내 라이브러리를 가져 오는 응용 프로그램이 특정 기본값으로 특정 라우트에 연결된 뷰를 추가 할 수있게하는 지시문을 만들려고합니다. 합니다 (pyramid docs에 주어진 예제 떨어져 모델)피라미드에서 지시문과 동작을 사용하여 뷰 추가하기
내 첫 번째 시도는 :
def status_view_directive(config, view, **view_config_kwargs):
def register_status_view():
config.add_view(
view=view,
route_name='status',
**view_config_kwargs
)
config.action('a_discriminator', register_status_view)
if __name__ == '__main__':
config = Configurator()
config.add_route('status', '/status')
config.add_directive('add_status_view', status_view_directive)
config.add_status_view('some_view', **some_kwargs)
return config.make_wsgi_app()
이 작동하지 않습니다. 보기에 액세스하려고 할 때마다 404
이 다시 나타납니다. 내가 다음에 코드를 수정하는 경우
, 그것은 예상대로 작동합니다
def status_view_directive(config, view, **view_config_kwargs):
config.add_view(
view=view,
route_name='status',
**view_config_kwargs
)
if __name__ == '__main__':
config = Configurator()
config.add_route('status', '/status')
config.add_directive('add_status_view', status_view_directive)
config.add_status_view('some_view', **some_kwargs)
return config.make_wsgi_app()
난 그냥이를 알아 내려고 몇 시간을 잃었다. 누구나 왜 첫 번째 스 니펫이 작동하지 않는지 알고 있습니까?