相关疑难解决方法(0)

在金字塔中,如何根据上下文的内容使用不同的渲染器?

我有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)

那么如何根据我的上下文内容呈现不同的模板呢?

python traversal mako pyramid

7
推荐指数
2
解决办法
2773
查看次数

在同一视图方法中在渲染器之间切换的简便方法

我设置了这样的功能

@view_config(
    route_name = 'route_name',
    permissions = 'permissions',
    renderer = 'r.mako'
)
def r( request ):
    # stuff goes here
Run Code Online (Sandbox Code Playgroud)

现在,我想添加功能,以便我检查某些条件(使用ajax)我将使用一个模板,否则使用另一个.有没有办法在金字塔中做到这一点?谢谢

python pyramid

2
推荐指数
1
解决办法
1611
查看次数

标签 统计

pyramid ×2

python ×2

mako ×1

traversal ×1