반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- list
- c#
- Apache
- django
- numpy
- PANDAS
- Github
- hive
- Mac
- array
- PySpark
- Python
- GIT
- 파이썬
- string
- Tkinter
- google apps script
- Google Spreadsheet
- Google Excel
- Java
- Excel
- SQL
- PostgreSQL
- Kotlin
- matplotlib
- dataframe
- gas
- math
- Redshift
Archives
- Today
- Total
달나라 노트
Python django project 1 - 게시판 만들기 ch.15 : humanize 본문
Python django/Python django project 1
Python django project 1 - 게시판 만들기 ch.15 : humanize
CosmosProject 2020. 12. 21. 03:59728x90
반응형
게시글 디테일을 보면 위처럼 Registered at에 표시되는 값이 사실 우리가 보기엔 읽기가 어렵죠.
이에 대해 django의 humanize라는 것을 이용해봅시다.
pro/pro/settings.py의 app 부분을 아래처럼 수정합시다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'app.user',
'app.post',
'app.tag'
]
humanize app을 불러왔습니다.
그리고 post_detail.html 을 아래처럼 수정합시다.
{% extends 'base.html' %}
{% load humanize %}
{% block body %}
<div class="row mt-5">
<div class="col-12 text-center">
<h1>Post Detail</h1>
</div>
</div>
<div class="row mt-5">
<div class="col-12">
<ul class="list-group">
<li class="list-group-item">
<b>Title</b><br/>
{{ post_detail.post_title }}
</li>
<li class="list-group-item">
<b>Contents</b><br/>
{{ post_detail.post_contents }}
</li>
<li class="list-group-item">
<b>Tags</b><br/>
{{ post_detail.tags.all|join:', ' }}
</li>
<li class="list-group-item">
<b>Writer</b><br/>
{{ post_detail.post_writer }}
</li>
<li class="list-group-item">
<b>Registered at</b>: {{ post_detail.registered_dttm|date:'Y-m-d H:i' }}
</li>
</ul>
</div>
</div>
<div class="row mt-5">
<div class="col-6">
<button type="button" class="btn btn-primary btn-block" onclick="location.href='/post/post_list/'">Post List</button>
</div>
<div class="col-6">
<button type="button" class="btn btn-primary btn-block" onclick="location.href='/post/post_register/'">Post Register</button>
</div>
</div>
{% endblock %}
먼저 가장 위에서 {% load humanize %} 를 통해 humanize app을 load하였고
<b>Registered at</b>: {{ post_detail.registered_dttm|date:'Y-m-d H:i' }}
위처럼 registered_dttm 에 date filter를 추가하였습니다.
humanize app의 date filter는 설정한 형식으로 날짜를 표기해주는 역할을 합니다.
이외에도 humanize에는 여러 filter가 있는데 대표적으로 두 가지만 봐봅시다.
intcomma -> {{ price|intcomma }} 이처럼 표시하면 price field의 값을 천단위 콤마가 추가된 형식으로 변환하여 출력해줍니다.
safe -> {{ detail|safe }} 이처럼 표시하면 이미지가 포함된 상세정보 등을 표시할 때 이미지를 이미지 고유의 텍스트가 아닌 이미지 그 자체로 표시해줍니다.
728x90
반응형
'Python django > Python django project 1' 카테고리의 다른 글
Python django project 1 - 게시판 만들기 ch.14 : 게시글에 Tag 기능 추가하기 (0) | 2020.12.21 |
---|---|
Python django project 1 - 게시판 만들기 ch.13 : 로그인과 회원가입 기능을 form을 이용하여 구현해보기 (0) | 2020.12.21 |
Python django project 1 - 게시판 만들기 ch.12 : 게시글 내용 보기 (0) | 2020.12.21 |
Python django project 1 - 게시판 만들기 ch.11 : 게시글 등록 기능 만들기 (0) | 2020.12.21 |
Python django project 1 - 게시판 만들기 ch.10 : 게시글 목록 만들기 (0) | 2020.12.20 |
Comments