web-dev-qa-db-ja.com

Django adminのフォームフィールドの説明

次の例のようにDjango adminにフォームフィールドのヒントを追加する方法は?

form field description in Django admin

(ここ:[〜#〜] url [〜#〜]およびContent説明はフィールドの下に灰色で表示されます)

67
megido

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だけでなく、モデルフィールドに関係するすべてのために)それを参照していることに気づきました!

110
Timmy O'Mahony

ティミーの答えに加えて、追加のヘルプテキストを表示し、役立つマークアップも必要な場合は、個別のフォームfieldsetsをカスタム表示できます。 descriptionフィールドを追加します。あなたの例を使用して、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 (フィールドセットまでスクロールダウン)エリアの詳細。

20
tatlar