如何在重定向到 web2py 中的下一个 URL 之前调用函数?

How can I call a function before redirecting to the next URL in web2py?

我定义的表格如下:

form = crud.update(db.table, table_id, next=URL('nextpage'))
crud.settings.update_onaccept = myfunction()

我需要在提交表单后、加载下一页之前再次调用 myfunction()。 是否有我可以设置的 crud 设置,它会在提交表单后调用一个函数?

你不应该做的:

crud.settings.update_onaccept = myfunction()

当你在那里调用 myfunction 时,当你真的只是想将它注册为回调以供稍后使用时。相反,使用:

crud.settings.update_onaccept.tablename.append(myfunction)

现在,在接受并应用更新后,将调用 myfunction,并将 Crud Form 对象传递给它。

注意,如果只有一个回调,也可以只做:

crud.settings.update_onaccept.tablename = myfunction

因为不需要附加到现有的回调列表。

最后,如果您想对所有数据库 table 使用相同的回调(或者只对单个 table 使用 Crud),您可以这样做:

crud.settings.update_onaccept = myfunction