3

入力に ​​Django フォームを使用しています。でも、ちょっとカスタムしたい。たとえば、次の Django コードは次のように変換されます。

#Django code

aerial_size_dist = forms.ChoiceField(initial='Very Fine to Fine') 

#Translated HTML  
<tr><th><label for="id_aerial_size_dist">Aerial size dist:</label></th><td><select name="aerial_size_dist" id="id_aerial_size_dist"></select></td></tr>

私の質問は、「スタイル」などのラベル プロパティを Django 側から追加する方法です。ウィジェットはDjangoフォームのラベルプロパティを変更できますか?

ターゲット HTML

<tr><th><label for="id_aerial_size_dist" style="display:none;">Aerial size dist:</label></th><td><select name="aerial_size_dist" id="id_aerial_size_dist"></select></td></tr>
4

3 に答える 3

8

同様の問題がここで回答されています: Get the ID of a field widget in a formset。ID を直接カスタマイズすることはできませんが、デフォルトの (自動生成された) ID を使用します

(短い答え)テンプレートでこれを使用します:

編集:

<label for="{{ form.my_field.id_for_label }}">{{ form.my_field.label }}</label>

古いもの: (これは場合によっては機能していませんでした - コメントを参照してください)

<label for="{{ form.my_field.auto_id }}">{{ form.my_field.label }}</label>
于 2013-02-11T11:10:59.117 に答える
1
class FormName(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(FormName, self).__init__(*args, **kwargs)
        self.fields['field_name'].widget.attrs['style'] = '...'
于 2013-02-11T11:57:42.993 に答える
-1

https://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.Widget.attrs

于 2012-04-16T17:25:47.180 に答える