Изменить отображение field.value для каждого поля? - PullRequest
0 голосов
/ 29 мая 2019

Я использую многократно используемые шаблоны форм для ручной визуализации полей формы и хочу отображать значения полей формы определенным образом.

Я перебираю поля в форме и фильтрую field.value на основе имени поля, которое кажется небрежным. Мне кажется, что я должен быть в состоянии связать отображение значения поля с самим полем, а не с условной логикой в ​​цикле.

Я уже пытался заполнить свои поля. Выберите виджеты с явным выбором, но это не влияет на field.value, и это то, что я хочу отображать по-другому.

Вот что я сейчас делаю:

{% if field.name == 'sending_domain' %}
   {{ field.value | default:"[ANY DOMAIN]" }}
{% elif field.name == 'from_email' %}
   {{ field.value | default:"Not set. Required!"  }}
{% elif field.name == 'custom_api_key' %}
   {{ field.value | default:"Required custom API key not set."  }}
{% elif field.name == 'custom_subaccount' %}
   {{ field.value | default:"Not set."  }}
{% else %}
   {{ field.value | default:"None" }}
{% endif %}

Этот код работает. При отправке домена по умолчанию отображается «[ЛЮБОЙ ДОМЕН]», а из электронной почты - «Не установлено. Требуется!» по умолчанию и т. д. - но это также ранит мою душу. Какой лучший способ сделать это?

1 Ответ

0 голосов
/ 29 мая 2019

Обычно оператор switch был бы более элегантным решением.Но, насколько я понимаю, в python нет операторов switch. Статья

У меня есть аналогичный набор кода в моем последнем проекте.

Возможный вариант

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...