我正在查看名爲crispy forms的包我想知道是否可以更改模板中的html名稱?更改模板中的表單html名稱
即
{{ form.username|changename }}
規則:
我不想改變原有的形式或視圖(全部),我只能訪問模板。
我正在查看名爲crispy forms的包我想知道是否可以更改模板中的html名稱?更改模板中的表單html名稱
即
{{ form.username|changename }}
規則:
我不想改變原有的形式或視圖(全部),我只能訪問模板。
既然你改變的標籤,我建議你做模板十歲上下,不使用templatetag或過濾器:
<label for="id_username">Your label name here:</label>
{{ form.username }}
或者,如果你無法抗拒,你必須申請一個篩選您field.label
屬性:
{{ form.username.label|my_custom_filter }}
一個簡單的過濾器可以是:
@register.filter(name='my_custom_filter')
def my_custom_filter(value):
# here value is the value of your label
# process it as you please then return the new value
if value == 'changeme':
return 'changed label'
return value
ŧ他只是一個例子,告訴你模板過濾器是如何工作的,然後你可以詳細說明它,並更改名稱,邏輯等等。
這可能是過度簡化它,但不只是原始輸出呢?
<label for="">what ever you want</label>
<input type="text" name="{{ form.username.html_name }}" id="{{ form.username.auto_id }}">
我還是會這麼做的form.py自己,但如果你已經是有那麼它不需要任何幻想這裏工作的模板。
如果你改變字段的id,當你發佈信息時它不會再匹配。如果你想改變'label',你可以在你的form.py文件中做到這一點。所以,請更具體地說,你的名字是什麼?另外,你正在改變一個字段,而不是表單名稱。 –
@Samuele Mattiuzzo對不起,它的標籤我想改變,但是正如我所說的,我不想在form.py中改變它,因爲它也是一個包裝。 – GrantU