django admin changelist_view中的自定义html字段

Dar*_*ryl 4 django django-urls django-admin

我想用django管理员进行一些小的定制 - 尤其是 changelist_view

class FeatureAdmin(admin.ModelAdmin):
    list_display = (
        'content_object_change_url',
        'content_object',
        'content_type',
        'active',
        'ordering',
        'is_published',
    )

    list_editable = (
       'active',
       'ordering',
    )

    list_display_links = (
        'content_object_change_url',
    )

admin.site.register(get_model('features', 'feature'), FeatureAdmin)
Run Code Online (Sandbox Code Playgroud)

这个想法是,它'content_object_change_url'可以是另一个对象的链接change_view......管理员用户可以方便地快速导航到该项目.

我有这种事情的另一种情况是添加外部源的链接,或图像字段的缩略图.

我以为我听说过'插入HTML'选项 - 但也许我已经超越了自己.

谢谢您的帮助!

Dan*_*man 11

您可以在FeatureAdmin类上提供自定义方法,该方法返回HTML content_object_change_url:

class FeatureAdmin(admin.ModelAdmin):

    [...]

    def content_object_change_url(self, obj):
        return '<a href="%s">Click to change</a>' % obj.get_absolute_url()
    content_object_change_url.allow_tags=True
Run Code Online (Sandbox Code Playgroud)

请参阅文档.

  • 现在已更改为 Django 2.0 中的 `mark_safe` - /sf/ask/3356759381/ (2认同)