IT

django admin page에 나타나는 help_text field 응용

紫紅 2019. 2. 18. 14:15
반응형

django model에 field정의 시, "help_text="이란 옵션을 줄 수 있다.

"""
예시
"""
class MyModel(models.Model):
   id = models.CharField(max_length=40, primary_key=True, help_text='아이디를 입력하세요')
name = models.CharField(max_length=40)
"""
재밌는 건, 아래와 같이 admin.py에서 설정이 가능한데, 아래 방법을 응용하면 텍스트에 bold(<strong>)효과를 주는 것도 가능하다는 것.
이를 응용하면 이미지 삽입도 가능할 것이라 생각한다.
"""
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)  # 출처: https://stackoverflow.com/questions/6231294/form-field-description-in-django-admin



위의 코드에서 CONTENT_HELP_TEXT = ' '.join 뒤의 복잡한 텍스트 값에 image src 값을 이용하여 이미지 삽입을 하거나 링크를 거는 것도 가능할 것이다.

나중에 기회가 된다면 써먹어봐야겠다.


반응형