을 Pyramid Docs - Using Hooks에 설명 된대로 사용할 때 지정된 템플릿을 렌더링 할 수 없습니다.'렌더러'가있는 피라미드에서 '@notfound_view_config'사용
views.py :
@notfound_view_config(renderer='templates/notfound.pt')
def notfound(request):
return Response('Not Found, dude', status='404 Not Found')
템플릿/notfound.pt :
<html xmlns="http://www.w3.org/1999/xhtml"
metal:use-macro="base">
<tal:block metal:fill-slot="content">
<!-- Example row of columns -->
<div class="row">
<div class="span12">
<h1>Error:</h1>
<p>Uh, oh... you snagged an error:</p>
<pre>"${request}"</pre>
<p>You can return to the <a href="${request.application_url}">homepage</a> if you wish.</p>
</div>
</div>
</tal:block>
</html>
존재하지 않는 페이지를 타격, 내가 보는 메시지 "를 찾을 수 없음, 친구의"에 빈 페이지,하지만 내 템플릿을 볼 것으로 예상했다 "어, 오 ... 당신이 오류를 저지른!" 그 다음에 요청 정보가옵니다.
는 나는이 잘못 읽고 있어요 의심 :
notfound_view_config 생성자는 pyramid.view.view_config의 생성자와 같은 인수의 대부분을 받아들입니다. 동일한 장소에서 사용 된 일 수 있으며 대체로 동일한 방식으로 동작합니다. 을 제외하고 항상 '정상' 보기 대신 찾을 수없는 예외보기를 등록합니다. 한편
는, pryamid.view.view_config에서 지원 이후 내가 매개 변수로 '렌더링'를 지정 할 수 있어야한다 보인다. 반면, '렌더러 없음'옵션을 사용하지 않고 항상 [예외를 찾을 수 없음] [3]을로드하는 것처럼 들립니다.
궁극적 인 궁금증 (목표)은 페이지를 찾을 수 없을 때마다 내 템플릿을 표시하거나 렌더링하는 방법입니다.
에서 [소스 코드] (https://github.com/Pylons/pyramid/blob/master/pyramid/config/views.py#L1892) 명확하게 렌더링을 처리하는, 그래서 이것은 그냥 작동합니다. 뷰에서 반환 된 dict을 변경하여 등록 또는 재시작을 혼동하지 않았는지 100 % 확인하십시오. –