我的urlconf片段是:
url(r'^play/(?P<songid>\d+)', 'playid', name="playsongid")
playid是一个视图函数,它的定义如下:
def playid(request, songid):
#do something
我使用django-tables2库,他们的教程是[django-tables2] [1]。 我的表是:
import django_tables2 as tables
class TestTable(tables.Table)
links = tables.LinkColumn("playsongid", kwargs={"songid": ...})
“......”是我困惑的位置。我如何在视图函数中将各种songid
数据传递给它(此视图函数不是playid
,它是另一个视图函数)?
我希望django-tables2可以像这样渲染数据:
column
<a href="/play/1">aaa</a>
<a href="/play/2">bbb</a>
<a href="/play/3">ccc</a>
答案 0 :(得分:4)
最后我自己开始工作! tables.py最后是这样的:
import django_tables2 as tables
from django_tables2.utils import Accessor
class TestTable(tables.Table)
songid = tables.Column()
links = tables.LinkColumn("playsongid", kwargs={"songid": Accessor("songid")})
在我的视图功能中,我将数据传递给它
playlist = conn.playlistinfo()
table_data = []
for info in playlist:
tmp_dict = {"songid": info.id}
tmp_dict["links"] = "%s - %s" % (get_attr(info, "artist"), get_attr(info, "title"))
table_data.append(tmp_dict)
del tmp_dict
variables["table"] = PlaylistTable(table_data)