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

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값을 반복하며 필드 이름이 일치하면 해당 레이블 텍스트가 표시됩니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
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.