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

d33*_*tah 2 django django-admin

下面是一段 Django 管理界面的实例版形式:

在此处输入图片说明

我应该如何更改底层admin.ModelAdmin实例以使其包含一个 URL,像这样?

在此处输入图片说明

JCo*_*ton 6

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)
Run Code Online (Sandbox Code Playgroud)

这是进一步解释、自定义表单标签文本、排序以及如何将此自定义 url 方法放在or上的文档readonly_fieldsshort_descriptionModelModelAdmin

  • 对于较新的 Django 版本,请使用:`from django.utils.safestring import mark_safe`,然后使用 `return mark_safe('&lt;a href="#"&gt;link text&lt;/a&gt;')` 而不是 `example_link.allow_tags = True ` (2认同)