1
forms.pyカスタムパラメータ
my_field = TextField(u"Enter a number", validators=[Required('This Field is Required')])
my_form.html
<table>
<tr>
<td colspan="4">
{{form.my_field(placeholder= form.my_field.label.text, class_="form-control")}}
{% for error in form.my_field.errors %}
<span>{{error}}</span>
{% endfor %}
</td>
</tr>
</table>
これは単純なコードです。しかし、私はthisのように、それぞれのコードを記述するのではなく、ループ内のすべての入力フィールドをレンダリングする必要があります。ただし、各フィールドの値は、<td>
に異なるcolspan
という値になります。
<td>
で使用できるcolspanのカスタムパラメータを追加するにはどうすればよいですか?
ような何か:(コード上からわずかdiff
)
forms.py
my_field = TextField(colspan="4")
my_form.html
<td colspan={{form.my_field.colspan}}>
このカスタムクラスは、私はいつも忘れては良いアイデアです。しかし、この場合、すべてのフィールドに共通のカスタムクラスを作成する必要があります。私の場合のように 'TextField'だけでなく、20種類以上のフォームフィールドを用意しています。そんなことを作ることは可能でしょうか? – RatDon
これは厳しいものです。私は親クラスの 'Field'クラスをサブクラス化しようとしていて、次にこの他の答えからいくつかのアイデアをつかむ他のフィールドの親クラスを変更しようとしていました:http://stackoverflow.com/a/9541560/3632543 しかし、私はそれで成功していなかった、プラスそれは本当に良いアイデアではないと言われています。最も簡単な(私は理解しているが、ちょっと不器用だが)これを行う方法は、あなた自身が必要とする各フィールドをサブクラス化して独自のフィールドセットを定義することだろう。私は書き込むコードがかなりあることを知っていますが、一度の仕事でなければなりません。 – AArias
うん。それは一度だけの仕事であり、将来の使用にもそれを使用することができます。ありがとう。 – RatDon