根据 Django 表单中的字段类型更改标签文本
Vaibhav Vaibhav
2021年6月29日
Django 是一个多样化的 Web 框架,具有强大的功能。它可以轻松处理复杂的任务,例如身份验证、会话、电子邮件等。它使我们能够创建动态 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
值,如果字段名称匹配,则显示其各自的标签文本。
Author: Vaibhav Vaibhav