2011-04-21 10 views
1

javascriptを使用しないと、ユーザーのラジオボタン選択を覚えておく方が良いですか?私はそれをやっているのがとても素朴な(?)方法があると感じていますか?Djangoのラジオボタンの選択を覚えている

どうすればDRYにすることができますか? usersegment paremは送信時に同じページに返されます。

<input type="radio" name="usersegment" value="non-paying" {% if usersegment == "non-paying" %}checked="checked"{% endif %}/> Non-paying Users <br /> 
<input type="radio" name="usersegment" value="paying" {% if usersegment == "paying" %}checked="checked"{% endif %}/> Paying Users <br /> 
<input type="radio" name="usersegment" value="all" {% if usersegment == "all" or not usersegment %}checked="checked"{% endif %}/> All Users<br /> 

また、django formsを使用して検討します。これについて

{% if usersegment == "non-paying" %} 
<input type="radio" name="usersegment" value="non-paying" checked="yes"/> Non-paying Users <br /> 
<input type="radio" name="usersegment" value="paying" /> Paying Users <br /> 
<input type="radio" name="usersegment" value="all" /> All Users<br /> 
{% endif %} 

{% if usersegment == "paying" %} 
<input type="radio" name="usersegment" value="non-paying" /> Non-paying Users <br /> 
<input type="radio" name="usersegment" value="paying" checked="yes"/> Paying Users <br /> 
<input type="radio" name="usersegment" value="all" /> All Users<br /> 
{% endif %} 

{% if usersegment == "all" or not usersegment %} 
<input type="radio" name="usersegment" value="non-paying" checked="yes"/> Non-paying Users <br /> 
<input type="radio" name="usersegment" value="paying" /> Paying Users <br /> 
<input type="radio" name="usersegment" value="all" checked="yes"/> All Users<br /> 
{% endif %} 
+1

なぜあなたはモデルフォームを使用していませんか?それはRadioSelectウィジェットを使用してあなたのためのフォームの状態を保存します –

+0

私はまだそれを読んでいないので正直言ってください。私はそれがその章を開く時だと思う。 – super9

+0

それは十分な価値がある!私たちはそれらを使って、プロジェクトからプロジェクトに素早く統一されたものにするために、カスタムレンダリングを行います。デザイナーは、フォーム用の古いボイラープレートCSSを使い続けることができるので、それを愛しています。 –

答えて

6

方法。そのような些細な問題は非常にエレガントな方法で解決され、あなたはそれについて考える必要はありません。

+0

私はまだDjangoを学んでいて、その章をスキップしています。フォームの場合は – super9

+2

+1。彼らはあなたの実際の質問に対する答えです。 –

関連する問題