在Django Admin中,如果想要显示没有标签的ReadOnlyFields,可以通过自定义Admin类来实现。以下是实现的步骤:
下面是一个示例代码:
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应用的部署和数据存储。
领取专属 10元无门槛券
手把手带您无忧上云