protocalendar用のウィジェット
日付を簡単に入力したかったのでprotocalendar.js用のウィジェットを作ってみた。
こんだけ。今のところprotocalendarのオプションは何も設定できない。
# widgets.py from django import newforms as forms class CalendarWidget(forms.TextInput): def render(self, name, value, attrs=None): return super(CalendarWidget, self).render(name, value, attrs) + """ <script type="text/javascript"> InputCalendar.createOnLoaded('%s'); </script> """ % attrs['id']
使い方はこう。
import time import widgets class YourForm(djangoforms.ModelForm): class Meta: model = models.YourModel date = forms.CharField(widget=widgets.CalendarWidget, initial=time.strftime('%m/%d/%Y'))
現在日付を初期値にする必要がないならimport timeとinitialオプションはいらない。