这是一段Django管理界面的实例版本:
如何更改基础admin.ModelAdmin
实例以使其包含URL,如下所示?
答案 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
自定义表单标签文字,排序以及如何将此自定义网址方法放在Model
或ModelAdmin
。