반응형
Flask / Jinja2를 사용하여 HTML을 템플릿으로 전달
Flask 및 SQLAlchemy에 대한 관리자를 구축 중이며을 사용하여 다른 입력에 대한 HTML을 내보기에 전달하고 싶습니다 render_template
. 템플릿 프레임 워크는 html을 자동으로 이스케이프 처리하는 것처럼 보이므로 모든 < " '>가 html 엔터티로 변환됩니다. HTML을 올바르게 렌더링하도록 비활성화하려면 어떻게해야합니까?
이상적인 방법은
{{ something|safe }}
자동 이스케이프 기능을 완전히 끄는 것보다
코드에서 HTML로 안전하게 선언 할 수도 있습니다.
from flask import Markup
value = Markup('<strong>The HTML String</strong>')
그런 다음 해당 값을 템플릿에 전달하면 필요하지 않습니다 |safe
.
jinja 문서 섹션 HTML 이스케이프에서 :
자동 이스케이프가 활성화되면 명시 적으로 안전한 것으로 표시된 값을 제외한 모든 것이 기본적으로 이스케이프됩니다. 이들은 안전 필터를 사용하여 응용 프로그램 또는 템플리트에서 표시 할 수 있습니다.
예:
<div class="info">
{{data.email_content|safe}}
</div>
이스케이프 처리 할 필요가없는 변수가 많은 경우 autoescape
블록을 사용할 수 있습니다 .
{% autoescape off %}
{{ something }}
{{ something_else }}
<b>{{ something_important }}</b>
{% endautoescape %}
참고 URL : https://stackoverflow.com/questions/3206344/passing-html-to-template-using-flask-jinja2
반응형
'IT' 카테고리의 다른 글
“전체 화면” (0) | 2020.06.22 |
---|---|
Room Persistence lib의 기본 키를 자동 증분으로 만드는 방법 (0) | 2020.06.22 |
OnFragmentInteractionListener를 구현하는 방법 (0) | 2020.06.22 |
Objective-C에서 NSString의 대소 문자를 대문자로 바꾸거나 변경 (0) | 2020.06.22 |
하나의 케이스 레이블에서 제어 할 수 없습니다 (0) | 2020.06.22 |