0

私はdjango登録をセットアップしています.RegistrationFormでこのコードに出くわしました-

attrs_dict = { 'class': 'required' }

email = forms.EmailField(widget=forms.TextInput
                        (attrs=dict(attrs_dict, maxlength=75)),
                        label='Email')

その部分は何(attrs=dict(attrs_dict, maxlength=75))を意味/するのですか? その部分が何をしているのかは知ってmaxlengthいますが、辞書の作成が何をしているのか、そして が何をしているのかは不明でしたattrs_dict。このコードの説明は素晴らしいでしょう。ありがとうございました。

4

3 に答える 3

1

ちょっとしたテストで、dict (attr_dict, maxlenght=75) が次のようになることがわかりました。

{'class': 'required', 'maxlength':75}

そのため、電子メール フィールドが html 要素にレンダリングされると、class と maxlength の 2 つの属性がラベルに追加されます。

于 2011-05-15T05:25:37.350 に答える
0

最終的にレンダリングされた形式で検証の種類を追加するために必要な属性の辞書を作成しています。このようにして、検証とセキュリティを追加するためにテンプレート コードで何もする必要はありません。

于 2012-03-14T19:40:24.227 に答える
0

django の各フォーム フィールドはウィジェットを使用します。フィールドの作成時に指定するか、デフォルトのウィジェットを使用できます。

ここでウィジェットを指定TextInputしていますEmailField

(attrs=dict(attrs_dict, maxlength=75)) は次のようになります。

{'class': 'required', 'maxlength':75}

これらは、このウィジェットのレンダリングされた html に属性として表示されます。したがって、フィールドのレンダリングされた html は次のemailようになります。

<input id="id_email" type="text" class="required" maxlength="75" name="email" />
于 2013-03-28T09:05:03.917 に答える