Web2py TR里面的帮手

Web2py A helper inside TR

是否可以让 A 助手在 TR 中创建一个 link,如下所示:

    table=TABLE(*[TR(A(*students, URL('pupil_details', vars=dict(fname=students[0], sname=students[2], year=students[5])))) for students in students_on_course])

这是在一个控制器里面。最后,我希望每个元素都用 TD 分隔,这样我就可以很好地格式化结果 table。

我希望 TR 成为另一个视图的 link,理想情况下允许 整个 TR 成为 link。但是当我尝试上面的方法时,我得到一个语法错误:只有命名参数可以跟随 *expression

你能让 TABLE 助手生成包含 link 的 TR 吗?

谢谢大家

A(*students, URL(...))

*students 之后有一个额外的位置参数,这在 Python 中是不允许的(*expression 必须跟在任何其他位置参数之后)。

在任何情况下,您都不要通过位置参数指定锚标记的 "href",而必须使用 _href 关键字参数:

A(*students, _href=URL(...))

您可能还需要重新考虑使用 *students。从您的 URL() 代码看来,students 是与单个学生关联的属性列表或元组。您的代码相当于:

A(student[0], student[1], student[2], ...)

这将简单地连接 students 列表的所有元素,例如:

<a href="/yourapp/pupil_details/...">FirstnameSurnameYear</a>

相反,您可能希望使用列表元素创建带有一些分隔符的格式化字符串(甚至像 ' '.join(students) 一样简单)。