如何在web2py中更改smartgrid组件的视图/编辑页面

时间:2011-11-16 15:07:34

标签: customization web2py

web2py中的Smartgrid组件非常强大。我想知道是否可以在智能网格的视图/编辑页面中添加任何额外的标记。

Normall,在web2py中我们需要创建一个与控制器中的函数对应的视图html文件。 smartgrid的问题在于控制器功能由组件自动定义。

例如,单击智能网格中的“查看”按钮会转到以下网址:

default/index/dataset/view/dataset/1

现在,我的问题是,我是否可以为此页面创建一个自定义视图html文件,该文件可以包含除smartgrid之外的其他内容?

1 个答案:

答案 0 :(得分:3)

smartgrid组件不会自动定义控制器功能。相反,用于查看,编辑等的链接只是将附加参数传递给定义了智能网格的同一函数(例如,在上面的URL中,dataset/view/dataset/1index函数的所有参数,可能是你的smartgrid定义的地方。)

您至少有两个选择。首先,您可以在index.html视图中添加条件逻辑,例如:

{{if 'view' in request.args:}}
[special code for viewing a record]
{{else:}}
[regular grid view code]
{{pass}}

或者,您可以在控制器功能中指定不同的视图,例如:

def index():
    if 'view' in request.args:
        response.view = 'default/view_record.html'
    [rest of index code]