0

Web ページにテキスト ボックスを配置し、その横に画像を配置したいと考えています。ユーザーが画像をクリックすると、ユーザーが日付を選択するのに役立つカレンダーが表示されます (ポップアップ カレンダー)。私は生のhtmlでそれをやった。しかし、今はdjangoフォームを使用したいので(モデルはありませんが)、検索して、forms.pyに独自のウィジェットを作成する必要があることがわかりました。次のように:

class CalendarWidget(forms.TextInput):
        css = ('/media/css/main.css', '/media/css/js-cal.css')
        js = ('/media/js/js-cal.min.js')

すべてのフォーム フィールドを含むクラスbackupFormがあります。forms.py

私の質問は:上記を使用するには、このようなクラスCalendarWidgetでフィールドを定義する必要がありますか? backupForm:

date1 = forms.CharField(widget=CalendarWidget)

このテキストボックスに画像をバインドして、ユーザーにこのカレンダーから日付のみを入力させるにはどうすればよいですか?

4

1 に答える 1

0

入力フィールド(テキストボックス)のフォームフィールドを使用して、フィールドCalendatWidgetのウィジェットとして適用できます。ウィジェットは、ボタンとして機能する画像の作成/バインドを担当します。

Django Admin はAdminDateWidgeton form フィールドをmodel.DateField自動的に使用します。modelform 部分にもかかわらず、チェックインできますdjango/contrib/admin/widgets.pyinit()内部の関数をチェックdjango/contrib/admin/static/admin/js/admin/DateTimeShortcuts.jsして、Django がカレンダー ボタンを 1 つの入力フィールドに作成/バインドする方法を確認してください。

AdminDateWidgetページが必要な CSS/JS リソースをロードし、特定の属性が設定されている限り、フロントページで使用することもできます....

于 2012-08-29T15:21:54.723 に答える