django admin中的表单字段描述
Posted
技术标签:
【中文标题】django admin中的表单字段描述【英文标题】:Form field description in django admin 【发布时间】:2011-09-08 01:06:47 【问题描述】:如何在 django admin 中为表单字段添加提示,如下例所示?
(此处:URL 和 Content 描述在字段下方以灰色显示)
【问题讨论】:
【参考方案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 中的 ForeignKey 字段初始值定义