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

Posted

技术标签:

【中文标题】将链接或任何 html 标记添加到 django-datatables-view 中的列【英文标题】:add link or any html tag to column in django-datatables-view 【发布时间】:2016-08-21 22:49:49 【问题描述】:

我的 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-tag 包装'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>

【问题讨论】:

【参考方案1】:

检查一下。 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)

【讨论】:

以上是关于将链接或任何 html 标记添加到 django-datatables-view 中的列的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试将多个点击侦听器添加到标记 django 时,initMap 不是一个函数

如何避免 Django 将 url 链接添加到链接后面的每个 html 元素

JavaScript 将链接标记添加到以http或https开头的字符串

将属性添加到 django ModelForm 字段的 <input> 标记

将属性添加到 django ModelForm 字段的 <input> 标记

部署Django+React到Heroku - 未捕获的语法错误。意外的标记'<'