I use admin calendar and time widgets in django form: description, how to use them
But widget input time format is: "%H:%M:%S". I need "%H:%M". Here is my code:
class CorporateOrderForm(ModelForm):
class Meta:
model=Order
#exclude=('giving_address_comment','giving_address','comment')
def __init__(self, *args, **kwargs):
super(CorporateOrderForm, self).__init__(*args, **kwargs)
self.fields['order_date'].widget = widgets.AdminDateWidget()
self.fields['order_time'].widget = widgets.AdminTimeWidget(format='%H:%M')
Last row is important: I try to change format. Here is AdminTimeWidget code:
class AdminTimeWidget(forms.TimeInput):
class Media:
js = (settings.ADMIN_MEDIA_PREFIX + "js/calendar.js",
settings.ADMIN_MEDIA_PREFIX + "js/admin/DateTimeShortcuts.js")
def __init__(self, attrs={}, format=None):
super(AdminTimeWidget, self).__init__(attrs={'class': 'vTimeField', 'size': '8'}, format=format)
And here is TimeInput code:
class TimeInput(Input):
input_type = 'text'
format = '%H:%M:%S' # '14:30:59'
def __init__(self, attrs=None, format=None):
super(TimeInput, self).__init__(attrs)
if format:
self.format = format
self.manual_format = True
else:
self.format = formats.get_format('TIME_INPUT_FORMATS')[0]
self.manual_format = False
It's not work, time format not changed. Where is the error?...