텍스트를 자르는 Django 템플릿 태그
Django에는 truncatewords
주어진 단어 수에서 텍스트를 자르는 템플릿 태그 가 있습니다. 그러나 truncatechars 같은 것은 아닙니다 .
주어진 문자 길이 제한에서 템플릿의 텍스트를 자르는 가장 좋은 방법은 무엇입니까?
이 최근 Django 1.4에 추가되었습니다. 예 :
{{ value|truncatechars:9 }}
{{ value|slice:"5" }}{% if value|length > 5 %}...{% endif %}
최신 정보
버전 1.4부터 Django에는이를위한 기본 제공 템플릿 태그 가 있습니다.
{{ value|truncatechars:9 }}
나는 (잘린) 많은의 (마지막 단어) 끝에 "..."를 추가하는 자체 템플릿 필터를 만들었습니다.
from django import template
register = template.Library()
@register.filter("truncate_chars")
def truncate_chars(value, max_length):
if len(value) > max_length:
truncd_val = value[:max_length]
if not len(value) == max_length+1 and value[max_length+1] != " ":
truncd_val = truncd_val[:truncd_val.rfind(" ")]
return truncd_val + "..."
return value
여기 Django 문서, 내장 템플릿 태그 및 필터에 있습니다 : truncatechars
사용자 지정 템플릿 필터를 작성해야합니다. http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters
어떻게 truncatewords
매장되어 있는지 확인 합니다.django.utils.text
고유 한 사용자 지정 템플릿 태그를 생성하려는 Django util Truncator 를 사용하는 것이 좋습니다. 다음은 샘플 사용입니다.
>>> from django.utils.text import Truncator
>>> Truncator("Django template tag to truncate text")
<Truncator: <function <lambda> at 0x10ff81b18>>
>>>Truncator("Django template tag to truncate text").words(3)
u'Django template tag...'
Truncator("Django template tag to truncate text").words(1)
u'Django...'
Truncator("Django template tag to truncate text").chars(20)
u'Django template t...'
Truncator("Django template tag to truncate text").chars(10)
u'Django ...'
그런 다음 템플릿 태그에 넣을 수 있습니다.
from django import template
from django.utils.text import Truncator
register = template.Library()
@register.filter("custom_truncator")
def custom_truncator(value, max_len, trunc_chars=True):
truncator = Truncator(value)
return truncator.chars(max_len) if trunc_chars else truncator.words(max_len)
"잘라 내기"필터를 추가하는 것은 4 년 동안 기능 요청이 마침내 내가 이해하는 한 메시지에 도착했습니다. https://code.djangoproject.com/ticket/5025- 따라서 다음 릴리스를 기다리거나합니다. 배달.
참고 URL : https://stackoverflow.com/questions/5235994/django-template-tag-to-truncate-text
'ProgramingTip' 카테고리의 다른 글
CodeIgniter로 MySQL 쿼리, 필드가 NULL 인 행 선택 (0) | 2020.10.25 |
---|---|
데이터 구조 및 알고리즘 학습을위한 프로그래밍 언어 선택 (0) | 2020.10.25 |
React Router에서 DefaultRoute를 다른 경로로 설정하는 방법 (0) | 2020.10.25 |
주어진 값이 일반 목록인지 어떻게 확인합니까? (0) | 2020.10.25 |
Tkinter에서 대화식으로 항목 위젯 컨텐츠 유효성 (0) | 2020.10.25 |