2012-11-06 14 views
2

jquery timepicker 서식 문제가 있습니다. 내 문제는 시간을 HH : MM AM/PM 형식으로 표시 (사용자가 그렇게 볼 수 있도록)하지만 군사 시간 (% H : % M)으로 시간 필드에로드하려는 것입니다. 내 양식 필드는 다음과 같습니다 : 나는 time without time zone 유형 PostgreSQL을 사용하고형식 jquery timepicker 장고에로드 TimeField

if isinstance(f, models.TimeField): 
    formfield.widget.format = '%H:%M' 
    formfield.widget.attrs.update({'class':'timepicker', 'readonly':'true'}) 

. (위의 링크에서) JQuery와 보이는 이것이다 :

<script type="text/javascript"> 
    $(document).ready(function() { 
      $(".timepicker").timepicker({ 
       showPeriod: true, 
       showLeadingZero: true 
      }); 
    }); 
</script> 

내가 showPeriod 및 showLoadingZero를 사용하지 않는 경우, 그것은 잘 작동하지만, 내가 원하는만큼 사용자 친화적으로하지 않습니다.

감사합니다.

편집 : 나는 템플릿 시스템을 사용하고, 그래서 필드 내 HTML은 다음과 같습니다 : 내가 대신 this timepicker를 사용하지만, 비슷한 문제를 가지고 있어요

<div class="fieldWrapper"> 
    {{ form.starttime.errors }} 
    <label for="id_starttime">Start Time:</label> 
    {{ form.starttime }} 
    </div> 
+0

나는 비슷한 모양의 jquery datepicker를 만났는데, 내가 만든 방식대로 HTML 형식의 형식을 선언했다 : PepperoniPizza

+0

안녕하세요 PepPizza - 그러면 id가 jquery id를 덮어 쓰시겠습니까? 지금이 문제를 성공적으로 구현하지 못했습니다. – jabs

답변

0

. 내 forms.py에서

, 나는, 내 양식 클래스에서, 내가 가진

time_widget = forms.widgets.TimeInput(attrs={'class': 'timepicker', 'readonly':'true'}) time_widget.format = '%I:%M %p'

그런

def make_custom_datefield(f): formfield = f.formfield() if isinstance(f, models.TimeField): formfield.widget.format = '%H:%M' formfield.widget.attrs.update({'class':'timepicker', 'readonly':'true'})

을 변경

class DonationForm(forms.ModelForm): ... time = forms.TimeField(input_formats=['%I:%M %p'],widget=time_widget) ...

루게릭 병 o 형식 마스크에주의하십시오. '%H''%p'과 호환되지 않으므로 대신 '%I'을 사용하십시오.

나는 왜 다른 방법으로 작동하지 않았는지, 또는이 해결 방법이 적절하지만 나에게 효과가있는 것처럼 보이지 않습니다.

0

아마도 사이트 전체에 HH:MM AM/PM으로 표시하고 TimeField이 데이터베이스에 저장되는 방법을 처리하도록해야합니다. 더 많은 정보를 들어

# settings.py 

... 

TIME_INPUT_FORMATS = ['%I:%M %p'] 

the docs를 참조하십시오 당신이 행복이라면, 당신은 단지 다음 설정을 사용할 수 있습니다.