0

私の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>

4

1 に答える 1

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)  
于 2012-03-06T01:46:01.913 に答える