2012-01-20 24 views
2

私はモデルを作成しており、モデルからはModelFormsを作成しました。しかし、私はModelFormから生成されたウィジェットは、私が管理ページに入っているときにウィジェットと同じではないことに気付きました。管理用ウィジェットを使用したDjango ModelForm

私はどうすればよい:

  1. は管理ページでのものと同じウィジェットを取得します。それらは素晴らしいです。外部キーフィールドには、参照されている新しい項目を追加できる「プラス」アイコンが付いています。

  2. 日付時刻ウィジェットには、現時点で即座にフィールドに入力できる「今すぐ」ボタンがあります。

  3. ウィジェット用に他にクールなプラグインがありますか?これまでのところ私が得たのは、Datetime(通常のプレーンな入力コントロールを生成する)のようなフィールドであっても意味をなさない単純なHTMLウィジェットです。

+0

http://stackoverflow.com/questions/38601/using-django-time-date-widgets-in-custom-form この回答はあなたに必要なものを説明しています。どのようなウィジェットがあなた自身で書くことができるのか分かりましたら、それは本当に簡単です –

答えて

4

あなたはdjango/contrib/admin/widgets.pyを見てください。ここでは管理サイトウィジェットがあります。その後、形成のようなものにするには:あなたの場合

from django.contrib.admin.widgets import AdminDateWidget 

class MyForm(ModelForm): 

    class Meta: 
     widgets = { 
      'date': AdminDateWidget(), 
     } 

は、あなたのテンプレートが必要なメディアファイル(CSS、JS)を備えていることを確認し

また、私は非常に素晴らしいlibにあるdjango-floppyformsを見てお勧めしますより良いウィジェットが欲しい

+0

ちょっとした質問ですが、floppyformsは管理者のような機能を持っています(今はdatetimeフィールドのため、外来キーの自動追加ボタンなど) –

+0

日付ウィジェット。 https://github.com/brutasse/django-floppyforms/blob/master/docs/widgets.rstを参照してください。私はこれを使ったことはないと思うが、一見価値がある。 – luc

関連する問題