개발일지/# Django

[TIL] Django 템플릿 언어 글자수 제한

lution88 2022. 3. 7. 00:32

django 템플릿 언어로 작성하던 중 글자수 제한에 대해서 궁금하여 찾아보았다.

 

삭제를 확인받는 페이지를 작성 중 제목을 보여주면서 이 제목의 글을 삭제할건지 물어보는 페이지 인데

# 삭제를 확인하는 페이지 post_confirm_delete.html

<div class='confirm'>
    <p class='title'>[{{post.title}}]</p>
    <p>삭제하시겠습니까?</p>
    <form method='POST'>{% csrf_token %}
      <div class='confirm_btn'>
        <input type='submit' value='delete'>
      </div>
    </form>
  </div>

제목이 너무 긴 애들도 모든 제목이 다 나와서 보기가 안좋았다.

그래서 찾아보니 

truncatewords 라는 필터와 truncatechars 라는 필터를 찾을 수 있었다.

# truncatewords : 단어 수 제한
<p class='title'>[{{post.title|truncatewords:4}}]</p>

# truncatechars : 글자 수 제한
<p class='title'>[{{post.title|truncatechars:10}}]</p>

문장 형 제목처럼 긴 항목을 예시로 위 필터를 시연해 보았다.

 

제목 : [MV] Noel(노을) _ Late Night(늦은 밤 너의 집 앞 골목길에서)

1) 단어수 제한 4 : {{ post.title|truncatewords:4 }}

2) 글자수 제한 10 : {{ post.title|truncatechars:10 }}

첫 번째 줄은 truncatewords:4 로 4단어 1) [MV] 2) Noel(노을) 3) _Late 4) ... 로 보여주고

두 번째 줄은 truncatechars:10 은 [MV] Noel ... 쩜쩜쩜 포함 10글자이다.

 

작업하면서 가끔 필요할 때 사용할 필터를 잘 찾은것 같다.