製品に関して入手可能な情報に応じて表示したい3つの異なる製品ページレイアウトがあります。トラバーサルを使用して、ProductFinder
すべての情報を取得するというクラスがあります。たとえば、ユーザーはdomain / green / smallに移動ProductFinder
し、私のDBから緑色で小さいすべての製品を一覧表示します。このリストは、クラス内のself.productsProductFinder
です。私の__init__.py
中に次の行を追加しました:
config.add_view('app.views.products', name='')
products.pyには次のものがあります。
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の内容に基づいています。パイロンでは、私は次のようなことをしたでしょう:
def products(context, request):
if len(context.products) == 1:
return render("oneproduct.mako")
elif len(context.product) == 2:
return render("twoproducts.mako")
では、コンテキストの内容に基づいて別のテンプレートをレンダリングするにはどうすればよいですか?