【问题标题】:How to display ReadOnlyFields without label in Django Admin?如何在 Django Admin 中显示没有标签的 ReadOnlyFields?
【发布时间】:2020-09-12 05:02:26
【问题描述】:

我试图在我的 Django 管理员 ReadOnlyFields 中显示一些数据,但我无法显示,我想在字段的同一行中显示 emailidverify_emailid,我可以使用 @ 987654324@ 但它也显示标签,请告诉我如何在没有表格的情况下显示数据。

这是我的admin.py 文件...

class MyModelAdmin(ReadOnlyAdminMixin, CustomModelAdmin):
  fields = (('emailid','verify_emailid),'mobilenumber','type')

这里emailidverify_emailid 显示在同一行,但问题是verify_emailid 显示标签,我不想要verify_emailid 的标签,请告诉我如何删除@ 987654331@标签...

【问题讨论】:

    标签: python django django-models django-forms django-admin


    【解决方案1】:

    如果您想完全控制特定行的文本,您可以添加一个方法来控制该行,然后将该方法添加为只读字段:

    解决方案

    from django.utils.html import format_html
    
    class MyModelAdmin(ReadOnlyAdminMixin, CustomModelAdmin):
      fields = ('my_custom_line','mobilenumber','type')
    
      def my_custom_line(self, instance):
         return format_html('<p>{} {}</p>', instance.emailid, instance.verify_emailid)
    

    解决方案如何工作

    ModelAdmin 类上的任何返回一些文本的方法都可以用作只读字段。您可以在the docs 中阅读更多相关信息。

    format_html只是一种安全的html插入方式,可以避免各种攻击。 html 之后列出的值会按照正常情况插入到 html 中。您可以随意编辑此行以获得所需的效果。你可以阅读here

    【讨论】:

      猜你喜欢
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 1970-01-01
      • 2017-06-08
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多