如何在不通过 web2py 中的智能网格的情况下将用户重定向到 'view'

How to redirect user to 'view' without going through smartgrid in web2py

如何在不通过 web2py 中的 smartgrid 的情况下将注册用户重定向到 his/her db.table.id 'view'?

我试过使用:

redirect(URL(f='first', args=['mydata/view', 'mydata/%s', %request.vars.name]))

其中 mydata 是我的 table db.mydata 的视图,'first' 是我的函数。 它总是 returns 到 smartgrid 接口。

有两个问题。首先,最后的 URL 参数必须是记录 ID,但看起来您使用的是名称(即 request.vars.name)。其次,默认情况下,网格使用已签名的 URL,因此您必须禁用签名(不推荐)或将用户签名添加到您生成的 URL。所以,link 应该是这样的:

redirect(URL(f='first', args=['mydata', 'view', 'mydata', request.vars.id],
             user_signature=True))

另外请注意,在 args 列表中,每个元素可以(通常应该)是一个单独的 URL arg。所以,而不是 ['mydata/view', ...],它应该是 ['mydata', 'view', ...].