单元格中具有LinkColumn的多个链接-Django-table2

时间:2019-02-18 12:47:36

标签: django python-3.x django-tables2

我的情况与此post不同。

在这种情况下,定义了链接数。

对于我来说,我生成带有值列表的链接单元格。

apps.py

for subject in list_of_subject:
    study_name_list = subject["study_name_list"]
    data_studies.append({
        'subject': subject
        'study_name': ", ".join(study_name_list),
    })

table_studies = StudiesTable(data=data_studies)

tables.py

class StudiesTable(tables.Table):
    """
    StudiesTable class
    """
    study_name = tables.LinkColumn('study_wiki', args=[A('study_name')], verbose_name='Study')
    subject = tables.Column(verbose_name='Subject')
    class Meta:
        """
        Meta class
        """
        attrs = {'class': 'table table-bordered table-striped table-condensed'}

现在

我可以为连接的字符串建立一个链接。

例如:

Subject1     |     Study1, Study2          |
Subject2     |     Study3                  |
Subject3     |     Study1, Study2, Study3  |

我希望您可以单击Study1并转到Study1的页面,并且可以单击Study2并转到Study2的页面。

1 个答案:

答案 0 :(得分:0)

以下方法解决了我在StudiesTable类中的问题。

def render_study_name(self, value):
    html_string = ""
    value_list = value.split(", ")
    for val in value_list:
        url_value = reverse("study_wiki", args=[A(val)])
        html_string += '''<a href="{0}" >{1}</a><br>'''.format(url_value, val)
    return mark_safe(html_string)