根據 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
值,如果欄位名稱匹配,則顯示其各自的標籤文字。
作者: Vaibhav Vaibhav