0

私はdjangoを初めて使用し、フォームライブラリが含まれていることを知りませんでした。チェックボックスを表示する動的フォームをhtmlとjavascriptで記述しました。クリックすると、より多くの入力フィールドが表示されます。

djangosの組み込みメソッドを使用してフォームのデータにアクセスする方がはるかに簡単でクリーンなため、すでに作成したコードをdjangoのフォームライブラリを使用するように適応させる簡単な方法があるかどうか疑問に思っています。

また、フォームを動的にしたい場合は、フォームセットを使用する必要がありますか、それともフォームライブラリにそれらの機能がありますか?

フォームライブラリを使用するために変換したいコードは次のとおりです。

<script language="javascript"> 
        function ifChecked(id, id2){
        var ele = document.getElementById(id);
        var ele2 = document.getElementById(id2);

        if(ele.checked){
            ele2.style.display = "block";
        }
        else{
            ele2.style.display = "none";
        }
    }

    function ifCheckedLine(id, id2){
        var ele = document.getElementById(id);
        var ele2 = document.getElementById(id2);

        if(ele.checked){
            ele2.style.display = "inline";
        }
        else{
            ele2.style.display = "none";
        }
    }
</script>

<body>
<form name="myform" action="resultsget" method = "get" >            
        <fieldset>
            <input type="checkbox" value="total_money" id = "money_check" name="check" onchange="javascript:ifChecked('money_check','money');" /> Filter by Total Money</br>

                <div id="money" style="display:none" name="option">  

                    <input type="checkbox" value="more" id="money_condition" onchange="javascript:ifCheckedLine('money_condition', 'money_text');"  name="condition"/> <label for="condition" > > </label>

                        <div id = "money_text" style="display:none"  >
                            <input type="text" id="money_box" name="money_name" value="lower limit" />
                        </div></br>

                    <input type="checkbox" value="less" id="money_condition1" onchange="javascript:ifCheckedLine('money_condition1', 'money_text1');" name="condition"/> <label for="condition1"> < </label>

                        <div id = "money_text1" style="display:none;"  >
                            <input type="text" id="money_box1" name="money_name1" value="upper limit" />
                        </div>

                </div> 
</fieldset>

    <input type="submit" value="Submit" />
</form>​

また、フォーム情報を読み取るために、views.pyファイルに何を入力する必要があるのか​​知りたいです。

ありがとう!!

4

1 に答える 1

0

djangoフォームを使用すると、必要なフィールドを含むフォームを作成し、テンプレートを使用してそれをレンダリングできます。djangoフォームを作成すると、フォームの処理が簡単になります。フォームの操作を参照してください

動的な有効化/無効化フィールドの場合、作成したコードは、djangoがフォームフィールドに入力する「id」を使用する変更で使用できます。jQueryを使用して要素のイベントハンドラーを設定することをお勧めします。

于 2012-08-29T05:59:08.153 に答える