在Django Admin编辑项目视图中显示自定义链接?

时间:2015-02-02 17:15:03

标签: django django-admin

这是一段Django管理界面的实例版本:

enter image description here

如何更改基础admin.ModelAdmin实例以使其包含URL,如下所示?

enter image description here

1 个答案:

答案 0 :(得分:4)

Django让这很容易。子类ModelAdmin,添加自定义方法,然后告诉管理员如何使用它。这是一个示例admin.py

from django.contrib import admin
from .models import Vendor

class VendorAdmin(admin.ModelAdmin):
    readonly_fields = ['example_link']

    def example_link(self, obj):
        return '<a href="{}">link text</a>'.format(obj.get_link())  # however you generate the link
    example_link.allow_tags = True

admin.site.register(Vendor, VendorAdmin)

以下documentation进一步解释了readonly_fields,使用short_description自定义表单标签文字,排序以及如何将此自定义网址方法放在ModelModelAdmin