【问题标题】:Model "help" text in Django Inline Admin在 Django Inline Admin 中建模“帮助”文本
【发布时间】:2013-03-13 11:59:54
【问题描述】:

我在我的 Django 应用程序中使用内联管理员。我希望在管理表单中显示一些帮助文本,以便 Page 与内联管理员一起使用(不仅仅是该模型中每个字段的单独帮助文本)。我一直在试图弄清楚如何做到这一点,但似乎找不到任何关于这个问题的东西。我是否错过了一些琐碎的开箱即用选项?

如果没有超级简单的方法可以做到这一点,有没有办法通过扩展一些模板来做到这一点?

以下是我的部分模型及其管理员:

class Page(models.Model):
    ....

class File(models.Model):
    page = models.ForeignKey(Page)
    ....

class FileAdminInline(admin.TabularInline):
    model = File
    extra = 0

class PageAdmin(admin.ModelAdmin):
    inlines = (FileAdminInline,)

【问题讨论】:

标签: django django-admin


【解决方案1】:

如果您不是在谈论特定的help_text 属性,那么请查看此post,它显示了一种未充分记录的实现方式。

【讨论】:

    【解决方案2】:

    如果您不想将 help_text 信息添加到表单集的上下文中并修改 edit_inline 模板,有一种方法可以捕获模型的 verbose_name_plural 元属性用于此目的.

    基本思想:如果您将该字符串标记为安全,则可以插入您想到的任何 html 元素。例如,将其标题设置为全局模型帮助文本的图像元素。这可能看起来像这样:

    class Meta:
        verbose_name = "Ygritte"
        verbose_name_plural = mark_safe('Ygrittes <img src="' + settings.STATIC_URL + \
                                        'admin/img/icon-unknown.svg" class="help help-tooltip" '
                                        'width="15" height="15" '
                                        'title="You know nothing, Jon Snow"/>')
    

    当然 - 这有点 hacky - 但这很简单,如果您的模型仅作为内联模型访问并且您不需要其他事物的复数详细名称(例如,在模型列表中您的应用程序的管理概览)。

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2018-05-22
      • 2020-06-18
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 2016-07-29
      相关资源
      最近更新 更多