제품에 대한 사용 가능한 정보에 따라 표시하려는 3 가지 제품 페이지 레이아웃이 있습니다. 탐색을 사용하여 모든 정보를 가져 오는 ProductFinder
클래스가 있습니다. 예를 들어 사용자가 domain/green/small으로 이동하면 ProductFinder
은 내 DB에서 녹색이고 작은 모든 제품을 나열합니다. 이 목록은 ProductFinder
클래스의 self.products입니다. products.py에서피라미드에서 컨텍스트의 내용을 기반으로 다른 렌더러를 사용하려면 어떻게해야합니까?
config.add_view('app.views.products', name='')
내가 가진 :
from pyramid.view import view_config
@view_config(context='app.models.ProductFinder', renderer='productpage.mako')
def products(context, request):
return dict(page=context)
내가 다른 마코을 렌더링하고 싶습니다하지만 context.products에서 무엇을 바탕으로 내 __init__.py
에서 나는 라인을 추가했습니다.
def products(context, request):
if len(context.products) == 1:
return render("oneproduct.mako")
elif len(context.product) == 2:
return render("twoproducts.mako")
그래서 어떻게 내 문맥의 내용에 따라 다른 서식 파일을 렌더링 할 수 있습니다 철탑에서 나는 무언가 같이했을 것?
첫 번째 라인은 "config.add_view ('app.views.products', name = '')"는 아마도 당신이 원하는 것이 아닙니다. @view_config는 내가 여기서 정말로 생각하는 유일한 것입니다. –