기본 Django 날짜 템플릿 형식을 어떻게 변경할 수 있습니까?


100

데이터베이스에 ISO 8601 형식의 날짜가 %Y-%m-%d있습니다. 그러나 날짜가 템플릿에 전달되면 Oct. 16, 2011.

원하는대로 형식을 조작 할 수있는 방법이 있습니까?

답변:



275

템플릿 내에서 Django의 date필터를 사용할 수 있습니다 . 예 :

<p>Birthday: {{ birthday|date:"M d, Y" }}</p>

제공 :

생일 : 1983 년 1 월 29 일

날짜 필터 문서 에 더 많은 형식 지정 예제가 있습니다.


날짜가 datetime 객체로 제공되는 경우에만 작동한다고 생각합니다. 뷰에서 전달 된 문자열이면 어떨까요?
Mohammed Shareef C

2
날짜 / 시간을 포함하는 임의의 문자열의 경우보기 코드에서 파이썬 datetime으로 구문 분석 할 것입니다. (또는 가능하다면 더 일찍-해당 날짜 문자열이 내 코드에 처음 도착할 때마다.) 그러나 문자열을 사용하여 Django 템플릿에 datetimes를 전달하려는 경우이 답변 이 도움이됩니다.
medmunds dec.

위의 예제는 템플릿 파일에서 사용하기에 완벽합니다.
Vinod Patidar


20

이것을 사용하십시오 :

{{you_date_field|date:'Y-m-d'}}

2016-10-16 과 같이 표시됩니다 . 원하는 형식을 사용할 수 있습니다.


8

views.py에서 날짜 형식을 변경 한 다음 템플릿에 할당하려면.

# get the object details 
home = Home.objects.get(home_id=homeid)

# get the start date
_startDate = home.home_startdate.strftime('%m/%d/%Y')

# assign it to template 
return render_to_response('showme.html' 
                                        {'home_startdate':_startDate},   
                                         context_instance=RequestContext(request) )  


6

짧은 날짜와 시간 (2018 년 11 월 8 일 오전 3시 23 분)을 표시해야하는 경우 다음과 같이 할 수 있습니다.

{{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}

이 태그에 대한 자세한 여기에 더 주어진 형식에 따라 날짜에 대해 여기

예:

<small class="text-muted">Last updated: {{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}</small>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.