2015-01-31 4 views
2

저는 Pyramid에서 응용 프로그램을 만들고 Jinja2 템플릿과 순회 라우팅을 활용하고 있습니다. 내 View-Callable을 사용중인 템플릿으로 연결하려면 webapp:templates 접두사를 사용하여 내 템플릿을 참조 할 수 있어야합니다. 예를 들면 다음과 같습니다.add_static_view를 사용하지 않고 참조 추가

@view_config(name='about-us', renderer='webapp:templates/pages/about-us.html', context=Root) 
def static_pages(context, request): 
    ... //more code 

이렇게하면 서식 파일을 사용하는 곳에서 서식 파일을 분리 할 수 ​​있습니다. 하지만, 위에서 작동 할 수 있도록하기 위해, 나는 내 웹 애플리케이션의 루트 폴더에 __init__.py 안에이를 넣어했다 :

config.add_static_view(name='templates', path='webapp:templates', cache_max_age=3600) 

add_static_view()webapp/templates 폴더가 다른 구성에서 webapp:template로 참조되도록합니다. 그러나 URL을 통해 볼 수도 있습니다 (예 : http://0.0.0.0:6543/templates/<some template file>). 후자의 가시성을 정적 페이지로 허용하지 않고 이전 목표를 달성 할 수있는 방법이 있습니까?

답변

2

add_static_view()는 그것 때문에 이상한 부작용에 불과하다고 않는 경우 webapp/templates 폴더, 다른 구성에 webapp:template로 참조되도록하는을 생각하지 않습니다.

package:path 구문은 Pyramid가 pkg_resources API를 사용하여 경로를 확인하기 때문에 작동합니다. 다음은 details입니다.

즉, webapp은 앱에서 찾을 수있는 Python 패키지 여야합니다.

+0

흥미 롭습니다! 그래서,'templates' 디렉토리는 단지 패키지로 표시 될 필요가 있습니다. 많은 것들이 나에게 더 이해가됩니다! –

관련 문제