2017-02-09 10 views
0

これは私が以前にした質問です。なぜこの脱退がそのような方向に向かうのか分かりません。Djangoのウィジェット設計の原則について

ウィジェットをレンダリングすると(フォームが使用されているなど)、レンダリング関数の引数はnameです。 HTMLタグ名がattrの場合、その関数に渡されるattrsのdictの一部として指定できないのはなぜですか? attr名を指定しない場合にのみ、nameを使用する方が理にかなっているはずです。

attrs {"name": "no_one_knows[]"}を設定すると、ウィジェットをレンダリングするときに、その名前は"no_one_knows[]"でなければなりません。そうすれば、サーバー側(たとえば)にリスト(getlist(..))として直接解析できるHTMLタグを持つことができます。

+0

私の 'getlist(..)'の例は有効ではありません.Djangoはその名前に '[]'を必要とせずに解析します。しかし、アイデアは同じです、名前を無効にすることができます。 – RompePC

+0

ウィジェットを「手動で」レンダリングするとどういう意味ですか? –

+0

'widget.render(..)'を呼びます。私は編集します。あまり明確ではありません。 – RompePC

答えて

0

ウィジェットは、フィールドがない場合は意味がありません。フィールドは、入力を受け入れ、それを検証する責任があります。それはname属性を決定しなければならないフィールドです。それ以外の場合は、データで使用する値を知る方法がありません。

ブッチウィジェットを直接renderメソッドを呼び出してレンダリングする必要はありません。再び、それはフィールドの仕事です。

+0

ウィジェットを直接レンダリングすることではありません。しかし、あなたの答えは私の考えをクリアします。 – RompePC

関連する問題