У меня есть 3 разных макета страниц продукта, которые я хотел бы отобразить в зависимости от доступной информации о продуктах. Используя обход, у меня есть класс под названием ProductFinder
, который собирает всю информацию. Например, пользователь переходит в домен / зеленый / маленький, и ProductFinder
перечисляет все продукты из моей БД, которые являются зелеными и маленькими. Это список self.products в классе ProductFinder
. В моем __ 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")
Итак, как я могу визуализировать другой шаблон на основе содержимого моего контекста?