만약 여러분들이 각 폼 필드들을 위해 같은 HTML 테그들을 사용하고 있다면, 반복되는 코드들을 줄일수 있습니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# 반복문을 사용하여 반복되는 코드를 줄일수 있습니다 # {% for %}
# 예시
{% for field in form %} <divclass="fieldwrapper"> {{ field.errors }} {{ field.lable_tag }}{{ field }} {% if field.help_text %} <pclass="help"> {{ field.help_text|safe }} </p> {% endif %} </div>
# {{ field.label_tag }} # 필드의 label 이 적절한 HTML <label> 태그로 감싸집니다. 이는 form 의 label_suffix 를 포함합니다. 예를들면, labe_suffix 의 기본값은 콜론입니다. <lablefor="id_email">Email address:</lable>
# {{ field.id_for_label }} # 이 필드를 위해 사용될 ID (위 예시에서는 id_email). # 만약 여러분들이 label 을 수동으로 만들고 있다면, 이것을 label_tag 대신에 사용할수 있습니다 # 이것또한 유용하게 사용될수 있습니다. # 예를들면, 여러분들이 인라인 JavaScript 를 가지고 있고, 필드의 ID 를 하드코딩 하는것을 피하고 # 싶을때처럼 말이죠
# {{ field.html_name }} # 인풋 요소의 이름 필드에 사용될 필드의 이름, 설정 되어 있다면, 폼의 접두사를 고려합니다
# {{ field.help_text }} # 필드와 관련된 hep text
# {{ field.errors }} # 필드에 해당하는 유효성 혹은 검증 에러를 가지고 있는 <ulclass-"errorlist">를 출력합니다 # 에러의 모습을 {% for error in field.errors %} 반복문을 사용하여, 커스터마이즈 할수 있습니다. # 이 경우에는, 반복문안에 각 객체들은 에러 메시지를 포함하고 있는 문자열이 됩니다. # {{ field.is_hidden }} # 만약 필드가 숨겨진 필드라면 True 를 반환하고, 숨겨져 잇지 않다면 False 를 반환합니다 # 이것은 특출나게 템플릿 변수로써 유용하지 않습니다. 하지만 아래 예시같이 조건적인 테스트에서는 # 유용할수 있습니다 {% if field.is_hidden %} {% endif %} # {{ field.field }} # 폼 클래스로부터 필드 인스턴스로 BoundField 로 감싸집니다. # Field 속성들을 엑세스하기 위해 사용합니다. 예) {{char_field.field.max_length}}