Django Forms의 필드 유형에 따라 레이블 텍스트 변경
Vaibhav Vaibhav
2021년6월29일
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