将链接或任何 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> 标记