【问题标题】:Form field description in django admindjango admin中的表单字段描述
【发布时间】:2011-09-08 01:06:47
【问题描述】:

如何在 django admin 中为表单字段添加提示,如下例所示?

(此处:URLContent 描述在字段下方以灰色显示)

【问题讨论】:

    标签: django django-admin django-forms


    【解决方案1】:

    在 models.py 中定义字段时:

    myfield = models.CharField(max_length=100, help_text="This is the grey text")
    

    将此链接加入书签:

    https://docs.djangoproject.com/en/dev/ref/models/fields/#help-text

    我发现自己一直在引用它(不仅仅是 help_text,而是所有与模型字段有关的内容)!

    【讨论】:

    【解决方案2】:

    除了Timmy的回答,如果你想显示一些额外的帮助文本并且也想有一些有用的标记,你可以自定义显示单个表单fieldsets并添加一个描述强>领域。使用您的示例,假设您想将 Content 字段分解为它自己的字段集块并添加一些详细的帮助文本。您可以执行以下操作:

    from mymodel.models import MyModel
    from django.contrib import admin
    
    """
    Custom Help Text
    """
    CONTENT_HELP_TEXT = ' '.join(['<p>Here is some multi-line help',
                                  'which is a long string so put',
                                  'into a list which is then joined',
                                  'with spaces. I can do fun things',
                                  'like have <strong>bold</strong>',
                                  'and some line breaks.<br/>'])
    """
    Customize Admin
    """
    class MyModelAdmin(admin.ModelAdmin):
        """
        Add your other customizations
        like actions, list_display, list filter, etc
        """
        fieldsets = [
            ('Content', {
                'fields':('content',),
                'description': '<div class="help">%s</div>' % CONTENT_HELP_TEXT,
            }),
        ]
    
    admin.site.register(MyModel, MyModelAdmin)
    

    Django docs(向下滚动到字段集)区域中的更多信息。

    【讨论】:

    • 括号内的“内容”后面应该有一个逗号
    • 接受的答案是表单的标准,但这是最好的答案,因为它独立于表单并依赖于模型管理员设置的字段集细分。谢谢!
    • 不需要用空格连接字符串列表——你可以简单地使用反斜杠字符`\`在下一行继续字符串而不插入换行符:docs.python.org/3.2/tutorial/introduction.html#strings
    • @diegueus9:您对我的回答的编辑引入了一个语法错误:您删除了每个新行单词之间的空格,这会使句子出现乱码。请修复或回滚到原始版本。
    • @diegueus9:我回滚到以前版本的答案。请在恢复之前仔细检查您提议的语法更改。
    【解决方案3】:

    在您的 forms.py 文件中,

    fields = ['URL',....]
    

    添加

    help_texts = {"URL": "Example..."}
    

    【讨论】:

      猜你喜欢
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多