【发布时间】:2024-10-11 07:50:01
【问题描述】:
我想根据有关产品的可用信息显示 3 种不同的产品页面布局。使用遍历我有一个名为ProductFinder 的类,它可以获取所有信息。例如,用户转到 domain/green/small ,ProductFinder 将列出我的数据库中所有绿色和小型的产品。此列表是 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")
那么如何根据上下文的内容呈现不同的模板呢?
【问题讨论】:
-
你的第一行“config.add_view('app.views.products', name='')”很可能不是你想要的。 @view_config 是我认为您在这里真正关心的唯一一个。
标签: python pyramid traversal mako