我有3种不同的产品页面布局,我想根据有关产品的可用信息显示.使用遍历我有一个叫做ProductFinder抓取所有信息的类.例如,用户转到domain/green/small,ProductFinder将列出我的数据库中绿色和小的所有产品.此列表是类中的self.products ProductFinder.在我的__init__.py我添加了行:
config.add_view('app.views.products', name='')
Run Code Online (Sandbox Code Playgroud)
在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)
Run Code Online (Sandbox Code Playgroud)
基于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")
Run Code Online (Sandbox Code Playgroud)
那么如何根据我的上下文内容呈现不同的模板呢?
我设置了这样的功能
@view_config(
route_name = 'route_name',
permissions = 'permissions',
renderer = 'r.mako'
)
def r( request ):
# stuff goes here
Run Code Online (Sandbox Code Playgroud)
现在,我想添加功能,以便我检查某些条件(使用ajax)我将使用一个模板,否则使用另一个.有没有办法在金字塔中做到这一点?谢谢