更改每个字段的field.value显示吗?

时间:2019-05-29 18:23:36

标签: django django-templates

我正在使用可重用的表单模板来手动呈现表单字段,并且我想以特定方式显示表单字段的 values

我正在遍历表单中的字段,并根据感到草率的字段名称过滤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 :(得分:0)

通常,switch语句将是更优雅的解决方案。但据我了解,python没有switch语句。 Article

我在最新的项目中有一组类似的代码。

Possible option