Показывать в шаблоне названия меток полей вместо названий полей - Django
Я использую для отображения ошибок из forms.py в шаблоне, используя код ниже:
{% for key, value in form.errors.items %}
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Error:</strong> {% if key != '__all__' %}{{ key|title }} {% endif %} - {{ value|striptags }}
</div>
{% endfor %}
Но мой проект на другом языке, поэтому я хочу показывать не имя поля, а имя метки.
Мне нужно что-то вроде тахты
{{ key.label|title }}
{% for key, value in form.errors.items %}
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Error:</strong> {% if key != '__all__' %}{{ key.label|title }} {% endif %} - {{ value|striptags }}
</div>
{% endfor %}
Как показать имена меток вместо имен полей?
Вы можете перебирать поля формы и получать доступ к метке и любым ошибкам из самого связанного поля
{% for field in form.visible_fields %}
{% for error in field.errors %}
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Error:</strong>{{ field.label }} - {{ error }}
</div>
{% endfor }
{% endfor %}
Это означает, что вам придется отдельно обрабатывать ошибки, не связанные с полем
{% for error in form.non_field_errors %}
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Error:</strong>{{ error }}
</div>
{% endfor }
Думаю, предполагается, что ошибки поля обычно отображаются прямо рядом с полем, для которого они предназначены, поэтому диктант form.errors
довольно пустой