My Image

Django 포스팅

[Django] 템플릿으로 날짜 형식 다양하게 표시하기

Doyeon0430 | 2023년 06월 05일

Django 이미지

이번시간에는 장고에서 제공하는 템플릿을 이용해 날짜를 다양하게 표현하겠습니다.

일반적으로는 date를 사용하면 '2023년 06월 05일 03:13 오후' 로 호출됩니다.

그렇게 설정값을 이용하면 다양한 값으로 바꿀 수 있습니다.

제가 참고한 Django 공식문서입니다.

주소 : 장고 공식 문서

 

  1. Django 템플릿 - 기본 날짜 설정
  2. Django 템플릿 - 패키지 설치
  3. Django 템플릿 - 패키지 날짜 설정

 

 

1. Django 템플릿 - 기본 날짜 설정

패키지 설치가 아닌 기본적으로 내장된 날짜 형식을 지정해줄 수 있으며 가장 많이 사용합니다.

 

1. HTML 코드

{{ m.create_date|date:'Y년 m월 d일(D) h:i:s A' }}

사용하는 템플릿 뒤에 '|date' 를 추가하고 원하는 값을 입력하면 됩니다.

위의 코드에서 사용하는 전체 문법을 다 작성했습니다.

결과는 아래처럼 표시됩니다.

변경 후 : 2023년 06월 05일(월요일) 03:22:25 오후

 

  • Y : 년도 / m : 월 / d : 일 / D : 요일

  • h : 시 / i : 분 / s : 초 / A : 오전/오후

 

대소문자에 따라 값이 달라져서 적절한 구문을 사용해야 합니다.

다음으로는 패키지 설치를 통해 하루전, 어제, 2시간전 등

날짜에 따라 설정값이 바뀌도록 만들어보겠습니다.

 

 

2. Django 템플릿 - 패키지 설치

장고 공식문서에서 날짜 템플릿을 사용 할 때 INSTALLED_APPS에 새로운 패키지를 추가해야 합니다.

 

1. settings.py

INSTALLED_APPS = [
    'django.contrib.humanize',
]

다음으로 html에서 사용하기 위해 패키지를 불러와야되는데 사용하실 템플릿에 아래와 같은 코드를 추가하시면 됩니다.

 

2. templates

{% load humanize %}

이렇게 기본적인 세팅은 다 끝났습니다.

이제 원하시는 패키지를 바로 사용하실 수 있습니다.

 

 

3. Django 템플릿 - 패키지 날짜 설정

2가지의 템플릿 코드가 있으며 둘 다 업로드된 날짜에 따라 값이 변경됩니다.

 

1. HTML 코드

{{ m.create_date|naturalday }}

사용하는 템플릿 뒤에 '|naturalday' 를 추가하면 됩니다. 

변경 전 : 2023년 06월 05일 03:13 오후

변경 후 : 어제

 

2. HTML 코드

{{ m.create_date|naturaltime}}

사용하는 템플릿 뒤에 '|naturaltime' 를 추가하면 됩니다. 

변경 전 : 2023년 06월 05일 03:13 오후

변경 후 : 1일 ,2시간 전

글을 마치며 내장되어있는 날짜형식을 사용하는 방법과

django.contrib.humanize에 패키지를 추가해서 사용하는 방법에 대해 알아봤습니다.

댓글 (0)

    댓글이 없습니다.

간편 댓글 작성

My Image My Image My Image My Image