如何在django管理界面中添加带有超链接的自定义列?

发布于 2021-02-02 22:36:31

我有一个django管理界面,在模型列表中,我想要一个自定义列,该列将是使用字段值之一的超链接。基本上,模型的字段之一是URL,我希望该列在可单击的超链接中具有该URL。该链接将需要附加其他URL,作为其在model字段中的相对路径。

关注者
0
被浏览
130
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    在ModelAdmin类中定义一个方法,并将其allow_tags属性设置为True。这将允许该方法返回未转义的HTML,以显示在该列中。

    然后在ModelAdmin.list_display属性中将其作为条目列出。

    例:

    class YourModelAdmin(admin.ModelAdmin):
        list_display = ('my_url_field',)
    
        def my_url_field(self, obj):
            return '<a href="%s%s">%s</a>' % ('http://url-to-prepend.com/', obj.url_field, obj.url_field)
        my_url_field.allow_tags = True
        my_url_field.short_description = 'Column description'
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看