저는 Django 2.0
을 사용하고 있습니다.장고 2.0에서 사용자 정의 templatetags를 사용할 수 없습니다
나는 notes
내가이 파일
from django import template
from django.template.defaultfilters import stringfilter
from notepad.utils import simplify_text
from notes.models import Note, ColorLabels
register = template.Library()
@register.filter(name='note_simplify')
@stringfilter
def note_simplify(value):
return simplify_text(value)
@register.filter(name='default_color_label')
def default_color_label():
default_label = ColorLabels.objects.filter(default=True).first()
print(default_label.value)
return default_label
내부와 template
파일 내부에 몇 가지 사용자 정의 태그를 작성한 응용 프로그램 디렉토리
입니다 notes/templatetags/note_tags.py
파일 내 템플릿에 사용할 수있는 몇 가지 사용자 정의 템플릿 태그를 작성했습니다 , 태그를
{% load note_tags %}
으로로드했습니다. 첫 번째 태그 note_simplify
을 사용하지만 두 번째 태그 default_color_label
은 호출되지 않습니다. 동일한 파일에서 두 태그를 모두 사용하고 있습니다. 전달 된 데이터를 수정하기위한 것이고 간단히 무언가를 인쇄하기위한 것
# modify the note.content
<p>{{ note.content|truncatechars:200|note_simplify }}</p>
# to print some value
{{ default_color_label.value }}
나는 또한 여러 번 서버를 리콜했습니다.
문제가 있습니까? 태그가 템플릿에서 호출되지 않는 이유는 무엇입니까?
' 'Library'객체에 'assignment_tag'' 속성의 오류가 없습니다. –
assignment_tag 데코레이터는 1.9에서 사용되지 않으며 2.0에서 제거되었습니다. 'simple_tag'을 대신 사용하십시오 - 현명하게 모든 것이 동일하게 유지됩니다. –
@AnujTBE 답변을 업데이트했습니다. – Satendra