首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Django Admin中显示没有标签的ReadOnlyFields?

在Django Admin中,如果想要显示没有标签的ReadOnlyFields,可以通过自定义Admin类来实现。以下是实现的步骤:

  1. 创建一个新的Admin类,继承自Django的admin.ModelAdmin类。
  2. 在新的Admin类中,定义一个方法来返回没有标签的ReadOnlyFields。
  3. 在方法中,使用admin.ModelAdmin类的get_readonly_fields()方法来获取默认的只读字段列表。
  4. 将没有标签的字段添加到只读字段列表中。
  5. 返回更新后的只读字段列表。

下面是一个示例代码:

代码语言:txt
复制
from django.contrib import admin
from django.utils.html import format_html

class MyModelAdmin(admin.ModelAdmin):
    readonly_fields = ('custom_readonly_field',)

    def get_readonly_fields(self, request, obj=None):
        readonly_fields = super().get_readonly_fields(request, obj)
        readonly_fields += ('custom_readonly_field',)
        return readonly_fields

    def custom_readonly_field(self, obj):
        # 自定义只读字段的显示内容
        return format_html('<p>这是一个没有标签的只读字段</p>')

    custom_readonly_field.short_description = ''

admin.site.register(MyModel, MyModelAdmin)

在上面的示例中,我们创建了一个名为MyModelAdmin的自定义Admin类,并将其注册到MyModel模型上。在MyModelAdmin中,我们定义了一个名为custom_readonly_field的方法,用于显示没有标签的只读字段的内容。在get_readonly_fields()方法中,我们将custom_readonly_field添加到只读字段列表中。

请注意,为了使没有标签的只读字段在Django Admin中正确显示,我们使用了format_html()函数来格式化字段的显示内容,并将custom_readonly_field方法的short_description属性设置为空字符串,以去除字段的标签。

这样,当在Django Admin中查看MyModel对象时,将会显示一个没有标签的只读字段,内容为自定义的文本或HTML代码。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)和腾讯云数据库(https://cloud.tencent.com/product/cdb)可以用于支持Django应用的部署和数据存储。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券