python - Urlize DRF 链接

标签 python django python-3.x datatables django-rest-framework

我有一个 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/

相关文章:

Python:!= 和 "is not"之间的区别

python - 如何更改 url 路由器 DRF 中的参数名称?

python - 如何在 Django ModelAdmin 字段集中调用模型方法?

python - Django 的 Q 对象的相等性

python - Django 表单的 HTTP 响应问题

python-3.x - Pygame PNG 图像看起来损坏

python - Numpy 优化 reshape : 2D array to 3D

python - 尝试迭代字典时出现类型错误: 'int' 不可迭代

Python:平移平均和空间分隔

python - 如何在 Tkinter 中单击图像时调用函数?