web2py中的Smartgrid组件非常强大。我想知道是否可以在智能网格的视图/编辑页面中添加任何额外的标记。
Normall,在web2py中我们需要创建一个与控制器中的函数对应的视图html文件。 smartgrid的问题在于控制器功能由组件自动定义。
例如,单击智能网格中的“查看”按钮会转到以下网址:
default/index/dataset/view/dataset/1
现在,我的问题是,我是否可以为此页面创建一个自定义视图html文件,该文件可以包含除smartgrid之外的其他内容?
答案 0 :(得分:3)
smartgrid组件不会自动定义控制器功能。相反,用于查看,编辑等的链接只是将附加参数传递给定义了智能网格的同一函数(例如,在上面的URL中,dataset/view/dataset/1
是index
函数的所有参数,可能是你的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]