2016-12-24 1 views
0

CreateView 또는 UpdateView를 사용할 때 datetime 필드의 형식을 변경하는 방법이 있습니까? 나는 양식을 "2016-12-29 03:49 PM"과 같은 형태로 받아들이려고 노력하고있다. 나는 형식이 '%Y-%m-%d %I:%M %p'이어야하고,이 테스트가 쉘에서 잘된다는 것을 알고있다. CreateView 또는 UpdateView를 사용하여 작업하는 방법을 모르겠지만 수행 할 수 있어야합니다.일반 클래스 기반보기에서 django의 시간 형식을 변경하는 방법

답변

1

다른 입력 형식을 사용하려면 양식 클래스를 업데이트해야합니다. 양식은 다음과 같이 보일 것이다 : 마지막으로

settings.py 
DATE_INPUT_FORMATS = [ 
    '%Y-%m-%d %H:%M:%S', 
    '%m/%d/%Y %H:%M:%S', 
    '%Y-%m-%d %I:%M %p', 
] 

forms.py 
class YourForm(ModelForm): 
    date_of_birth = DateTimeField(input_formats=settings.DATE_INPUT_FORMATS) 
    class Meta: 
     model = YourClass 

:

class YourForm(ModelForm): 
    date_of_birth = DateTimeField(input_formats='%Y-%m-%d %I:%M %p') 
    class Meta: 
     model = YourModel 

그러나 변수에 허용 입력 형식을 모두 넣어 같은 당신의 settings.py에서 전화를 아마 더 낫다 어쨌든 수동으로 날짜를 입력하는 것은 사용자에게 맡기지 않고 (이보기가 사람을 대상으로한다고 가정) DateTime 위젯을 사용하여 날짜를 선택합니다. https://docs.djangoproject.com/en/1.10/ref/forms/fields/#datetimefield

: 여기에 날짜 양식 필드에 대한 https://docs.djangoproject.com/en/1.10/ref/forms/widgets/

및 정보 : 당신은 여기에 위젯에 대한 정보를 찾을 수 있습니다

관련 문제