2012-03-07 17 views
13

私のDjango 1.3モデルには、DateFieldプロパティがあります。フォームが生成されると、プレーンテキストフィールドの代わりにjQuery UI Datepickerを使用したいと思います。私は新しいウィジェットを作成することができると私は理解していますが、私はどのように理解できません。また、私はこのような何かがDjangoのために既に行われているかどうかはわかりません(私はそれを見つけました、チャンスはありません)。jQuery UI DatepickerをDjangoウィジェットとして使用するには?

jQuery UI Datepickerの複数のモデル(およびページ)で再利用できるDjangoウィジェットを作成するにはどうすればよいですか?

答えて

0

DateInputを参照してください。ウィジェットから継承する必要があります。 admin widgetsもご覧ください。いくつかのJSが追加されています。だから、DateInputを取って、いくつかのJSを追加すると完了です。

11

JQueryUIは非常に良い日付のUIピッカーを持っています。 あなたがここにそれを得ることができます:http://jqueryui.com

セイたとえば次のような形式になります。

class DateForm(forms.Form): 
    myDate = forms.DateField() 

をここからあなたのテンプレートの中から自分のフィールドにはJQuery日付ウィジェットをバインドします。

ここでは、DateFormをテンプレートに渡していて、JQueryへのパスが正しいと仮定しています。

<head> 
    <link rel="stylesheet" href="/themes/base/jquery.ui.all.css"> 
    <script src="/jquery.js"></script> 
    <script src="/ui/jquery.ui.core.js"></script> 
    <script src="/ui/jquery.ui.widget.js"></script> 
    <script src="/ui/jquery.ui.datepicker.js"></script> 
    <script> 
    $(function() { 
     $("#id_myDate").datepicker(); 
    }); 
    </script> 
</head> 
<body> 

<p>Date: <input type="text" id="id_myDate"></p> 

</body> 

myDateid_が先行することに注意してください。 Djangoはこれを透過的に行いますので、一致するようにしてください:id_myDate

希望すると、これが役立ちます。

+0

の代わりにモデルフォームを使用しているかどうかを教えてください。 – user2086641

+0

これを試してみましたが、名前= "myDate "それを働かせるために。 – FrontierPsycho

+0

@ user2086641私は、あなたがモデルのフォームからgoogleにmyDateフィールドを除外して、簡単に答えて、答えを示唆するように手動でページに配置するべきだと思います。 – FrontierPsycho

関連する問題