0
我有一些選擇框表單域,我需要在模板中輸出自定義標記作爲列表。爲此,我創建了一個包含它作爲參數傳遞當前表單域的內容。Django比較表單字段值與選定的值
我可以遍歷選項列表來創建我想要的列表而不會有任何問題。我的問題是,我需要顯示錶單標籤或當前選定值的選項列表上方。這是我必須做這樣的代碼:
{% if field.value %}
{% for value, option in field.field.choices %}
{% if value == field.value %}
{{ option }}
{% endif %}
{% endfor %}
{% else %}
{{ field.label }}
{% endif %}
舉例來說,如果value
在上面的代碼爲1,field.value
也爲1,平等的測試不工作,該位if語句中的代碼沒有得到執行。我猜它可能是下到兩個值,我比較的數據類型,所以我試圖鑄造兩個整數如下:
{% if field.value %}
{% for value, option in field.field.choices %}
{% if value|add:"0" == field.value|add:"0" %}
{{ option }}
{% endif %}
{% endfor %}
{% else %}
{{ field.label }}
{% endif %}
這工作得很好的情況下選擇框中的值是整數。但是,有時候我的選擇框會有布爾值作爲值,所以在這種情況下,比較將不適用於應用的整型轉換。
如何安全地比較兩個值,無論正在比較哪種類型的數據?