Django Forms의 필드 유형에 따라 레이블 텍스트 변경

Vaibhav Vaibhav 2021년6월29일
Django Forms의 필드 유형에 따라 레이블 텍스트 변경

Django는 강력한 기능이 포함 된 다양한 웹 프레임 워크입니다. 인증, 세션, 이메일 전송 등과 같은 복잡한 작업을 쉽게 처리 할 수 ​​있습니다. 동적 HTML 페이지를 만들고, 데이터베이스를 효율적으로 처리하고, 양식을 빠르게 디자인하고, Django의 템플릿 언어를 사용하여 HTML 템플릿에 데이터를 표시 할 수 있습니다.

일반적으로 다른 특정 값에 대해 특정 값을 사용해야하는 경우가 있습니다. 키-값 쌍으로 생각하십시오. 특정 키에는 관련된 특정 값이 있습니다.

필드 유형에 따라 레이블 이름을 변경하거나 Django의 특정 필드에 대한 특정 텍스트를 표시해야하는 경우 어떻게해야합니까? 이 기사는 동일하게 이야기합니다.

Django 템플릿 언어를 사용하여 레이블 이름 변경

HTML 파일에서 Django의 템플릿 언어를 사용하여 다음 문을 사용하여 필드 유형에 액세스 할 수 있습니다.

{{ fieldName.field.widget.input_type }}

이 트릭을 사용하여 필드 유형에 따라 레이블 이름을 변경할 수 있습니다.

템플릿보기의 컨텍스트 사전에 다음을 추가합니다.

"fieldLabels": [
    ("text", "Label for Text Field"),
    ("password", "Label for Password Field"),
    ("file", "Label for File Field"),
    ("number", "Label for Number Field"),
    ...,
]

위의 목록은("field type", "label text")형식으로 튜플을 저장합니다. 템플릿에서 이러한 튜플을 반복하고if조건에 따라 필요한 정보를 표시 할 수 있습니다.

템플릿 내에서 다음과 같이하십시오.

{% for field in form.visible_fields %}  
        {% for fieldName, label in fieldLabels %}
            {% if fieldName == field.field.widget.input_type  %}
                <div>
                    <label>{{ label }}</label>
                    {{ field }}
                </div>
            {% endif %}
        {% endfor %}
{% endfor %}

위의 코드는 모든 양식의 필드에 대한 모든fieldLables값을 반복하며 필드 이름이 일치하면 해당 레이블 텍스트가 표시됩니다.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.