我有一个 DRF 序列化器:
class ActivitySerializer(serializers.ModelSerializer):
link = serializers.CharField(source='get_analytic_link', allow_null=True)
class Meta:
model = Activity
fields = ['link',]
在可浏览的 API 中,链接是可点击的。但是,当它们通过 JSON 端点提供给 DataTable 时,它们(可以预见)不可点击。在普通的 Django 中,我会做这样的事情:
<td>{{ activity.get_analytic_link|urlize }}</td>
我如何在 DRF 中复制该行为以便链接可点击?
最佳答案
看起来这是前端的工作,你应该使用 DataTable 的 columns.render功能。
例子:
var responseObj = [
{ "information": "A1", "weblink": "http://www.microsoft.com" },
{ "information": "A2", "weblink": "http://www.yahoo.com" },
{ "information": "A3", "weblink": "http://www.google.com" },
{ "information": "A4", "weblink": "http://www.duckduckgo.com" }
];
$('#example').dataTable({
"data": responseObj,
"columns": [
{ "data": "information" },
{
"data": "weblink",
"render": function(data, type, row, meta){
if(type === 'display'){
data = '<a href="' + data + '">' + data + '</a>';
}
return data;
}
}
]
});
关于python - Urlize DRF 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55621987/