【问题标题】:How to pass data to django_tables2's LinkColumn如何将数据传递给 django_tables2 的 LinkColumn
【发布时间】:2012-03-04 02:32:14
【问题描述】:

我的 urlconf sn-p 是:

url(r'^play/(?P<songid>\d+)', 'playid', name="playsongid")

playid 是一个视图函数,它的定义是这样的:

def playid(request, songid):
    #do something

我使用 django-tables2 库,他们的教程是 [django-tables2][1]。 我的表sinppet是:

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>

【问题讨论】:

  • 现在我开始工作了! tables.py 终于像这样了:import django_tables2 as tables from django_tables2.utils import Accessor class TestTable(tables.Table) links = tables.LinkColumn("playsongid", kwargs={"songid": Accessor("songid")})

标签: python django django-tables2


【解决方案1】:

终于可以自己动手了! 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)  

【讨论】:

    猜你喜欢
    • 2010-10-22
    • 2021-05-29
    • 2019-05-08
    • 2017-01-08
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多