是否有可能让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吗?
全部谢谢
答案 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)
一样简单)。