我有 3 种不同的产品页面布局,我想根据有关产品的可用信息显示它们。使用遍历,我有一个名为的类ProductFinder
,它可以获取所有信息。例如,用户转到 domain/green/smallProductFinder
并将列出我的数据库中所有绿色和小型的产品。这个列表是ProductFinder
类中的 self.products。在我的__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 中的内容,虽然我想渲染一个不同的 mako。在 Pylons 中,我会做类似的事情:
def products(context, request):
if len(context.products) == 1:
return render("oneproduct.mako")
elif len(context.product) == 2:
return render("twoproducts.mako")
那么如何根据上下文的内容呈现不同的模板呢?