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

2024-02-12

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


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

然后将其列为 ModelAdmin.list_display 属性中的条目。

Example:

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'

请参阅文档ModelAdmin.list_display http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐