SeouliteLab

파이썬 문자열 안전하게 다루기: MarkupSafe 라이브러리 활용법 본문

카테고리 없음

파이썬 문자열 안전하게 다루기: MarkupSafe 라이브러리 활용법

Seoulite Lab 2024. 4. 17. 08:52

파이썬에서 문자열을 안전하게 다루기 위해 MarkupSafe 라이브러리를 사용할 수 있습니다. 이 라이브러리는 HTML, XML 및 기타 마크업 언어에서 이스케이프 처리된 문자열을 생성하는 데 사용됩니다. 이제 몇 가지 예제를 통해 MarkupSafe 라이브러리의 활용법을 살펴보겠습니다.

예제 1: 이스케이프 처리된 문자열 생성

from markupsafe import escape

html_string = "<script>alert('Hello, World!');</script>"
escaped_string = escape(html_string)
print(escaped_string)

이 예제에서는 escape() 함수를 사용하여 HTML 문자열을 이스케이프 처리합니다. 이를 통해 HTML 태그가 렌더링되는 것을 방지할 수 있습니다.

예제 2: 이스케이프 처리된 문자열과 일반 문자열 결합

from markupsafe import escape, Markup

name = "<John>"
greeting = "Hello, "
html_greeting = Markup(greeting) + escape(name)
print(html_greeting)

이 예제에서는 이스케이프 처리된 문자열과 일반 문자열을 결합하여 안전한 HTML 문자열을 생성합니다. MarkupSafe의 Markup 클래스를 사용하여 문자열을 Markup 객체로 변환할 수 있습니다.

예제 3: 템플릿에서 이스케이프 처리된 문자열 사용

from jinja2 import Template
from markupsafe import Markup

template_str = "Hello, {{ name | safe }}"
template = Template(template_str)
html_string = template.render(name="<strong>John</strong>")
safe_html = Markup(html_string)
print(safe_html)

이 예제에서는 템플릿에서 이스케이프 처리된 문자열을 사용하는 방법을 보여줍니다. Jinja2 템플릿 엔진을 사용하여 HTML 문자열을 생성하고, MarkupSafe의 Markup 클래스를 사용하여 이를 안전하게 렌더링합니다.