2012-02-12 14 views
0

でAdminTimeWidgetで入力フォーマット:description, how to use them時間私はDjangoのフォームで管理者のカレンダーと時間ウィジェットを使用ジャンゴ

しかし、ウィジェットの入力時間の形式は次のとおりです。 "%のH:%のM:%S"。私は "%H:%M"が必要です。ここに私のコードです:

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') 

最後の行は重要です:私はフォーマットを変更しようとします。ここAdminTimeWidgetコードは次のとおりです。

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) 

そして、ここではTimeInputコードは次のとおりです。

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 

それが動作していない、変更されていない時刻形式。 ?エラーがどこにあるの...

+0

あなたはTimeInput .__ init__' 'の本体を含むことができますか? – AdamKG

+0

申し訳ありません、私は今それを含めています。 –

+0

「%H:%Sが必要です」と言ったら、「%H:%Mが必要ですか? –

答えて

0

は、このようにそれを実行します。

class CorporateOrderForm(ModelForm): 
    class Meta: 
     model=Order 
     widgets = { 
      'order_date': widgets.AdminDateWidget(), 
      'order_time': widgets.AdminTimeWidget(format='%H:%M') 
     } 
関連する問題