Web2py TR内的帮手

时间:2016-09-10 21:53:41

标签: html web2py helper

是否有可能让A帮助者在TR中创建一个链接,如下所示:

    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分隔,这样我就能很好地格式化结果表。

我希望TR成为另一个视图的链接,理想情况是允许整个TR 成为一个链接。但是当我尝试上述操作时,我得到一个语法错误:只有命名参数可能跟*表达式

你有一个TABLE帮助器生成一个包含链接的TR吗?

全部谢谢

1 个答案:

答案 0 :(得分:1)

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)一样简单)。