django admin中的表单字段描述

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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,而是所有与模型字段有关的内容)!

【讨论】:

我认为您的链接有误,因为我们讨论的是models.FooField 而不是forms.FooField。应该是docs.djangoproject.com/en/dev/ref/models/fields/#help-text 那么添加一个多行字段怎么样? @pranavk 它是 html,所以你可以使用 <br/> 换行【参考方案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..."

【讨论】:

以上是关于django admin中的表单字段描述的主要内容,如果未能解决你的问题,请参考以下文章

添加/更改表单中的ForeignKey字段 - Django admin

Django Admin 中的动态字段

Django Admin中的动态只读字段

Django - Admin 中的 ForeignKey 字段初始值定义

模型形式中的 django auto slug,例如 django admin 中的预填充字段

Django Admin中的动态字段