将 link 或任何 html 标记添加到 django-datatables-view 中的列

add link or any html tag to column in django-datatables-view

我的 django-datatables-view 看起来像这样:

class OrderListJson(BaseDatatableView):
    model = Flat
    columns = ['id', 'flat_price', 'flat_house.house_block.block_name']
    order_columns = ['flat_price', 'flat_house.house_block.block_name']
    max_display_length = 100

    def filter_queryset(self, qs):
        search = self.request.GET.get(u'search[value]', None)
        if search:
            qs = qs.filter(flat_price__lte=search)
        return qs

如何用 <a> 或任何其他 html 标签包装 'flat_house.adress'?例如,<a href="{% url 'id' %}"。现在我只在 <td> 标签中显示列中的数据。

我的 html-模板如下所示:

<table id="datatabletest" class="table table-striped table-bordered" cellspacing="0">
            <thead>
              <tr>
                <th>id</th>
                <th>price</th>
                <th>adress</th>
              </tr>
            </thead>
            <tfoot>
              <tr>
                <th>id</th>
                <th>price</th>
                <th>adress</th>
              </tr>
            </tfoot>
          </table>

检查这个。 django-datatables-view

你可以使用 render_column 方法。

    def render_column(self, row, column):
        # i recommend change 'flat_house.house_block.block_name' to 'address'
        if column == 'address':
            return '<a href="%s">link</a>' % row.flat_house.house_block.block_name
        else:
            return super(OrderListJson, self).render_column(row, column)