답변:
텍스트로 더 복잡한 것을 원한다면 html을 반환하기 전에 자신의 필터를 만들고 마술을 할 수 있습니다. templatag 파일은 다음과 같습니다.
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@register.filter
def do_something(title, content):
something = '<h1>%s</h1><p>%s</p>' % (title, content)
return mark_safe(something)
그런 다음 템플릿 파일에 추가 할 수 있습니다
<body>
...
{{ title|do_something:content }}
...
</body>
그리고 이것은 당신에게 좋은 결과를 줄 것입니다.
코드에서 템플릿을 다음과 같이 렌더링 할 수 있습니다.
from django.template import Context, Template
t = Template('This is your <span>{{ message }}</span>.')
c = Context({'message': 'Your message'})
html = t.render(c)
자세한 내용은 Django 문서 를 참조하십시오 .
를 사용하여 autoescape
HTML 이스케이프 기능을 해제하십시오.
{% autoescape off %}{{ message }}{% endautoescape %}
템플릿에서 필터 또는 태그를 사용할 필요가 없습니다. format_html ()을 사용하여 변수를 html로 번역하면 Django가 자동으로 이스케이프를 해제합니다.
format_html("<h1>Hello</h1>")
https://docs.djangoproject.com/en/3.0/ref/utils/#django.utils.html.format_html을 확인 하십시오.
€
) 와 같은 통화 기호를 표시해야하는 경우 보기에서 달러가 전달됩니다.