django 출력 html 내용
data = '<h1>hello worldh1>'
<p>{{ data }}p>
Dell의 목적은 다음과 같습니다.
hello world
그러나 결과는 다음과 같습니다.
<h1>hello worldh1>
인터넷에서 오랫동안 검색한 끝에 마침내 해결 방법을 찾았다.
data | safe
{% autoescape off %}
{{ data }}
{% endautoescape %}
off는 html에 대한 전의를 닫는 것을 의미하며, off를 on으로 바꾸면 html전의를 진행하는 것을 의미하며, 기본적으로 html전의를 진행한다.
주의: autoescape는 계승성을 갖추고 있습니다. 부모 템플릿에 정의되면 하위 템플릿에 대응하는 내용 부분에도 이 속성이 존재합니다.
우리는django가 왜 이 문자들을 원래의 html 내용에 따라 출력하지 않고 뜻을 바꾸어야 하는지 의문이 생길 수 있다.예를 들어 사용자 이름을 입력하여 등록해야 합니다. 이 사용자는 사용자 이름을 다음과 같이 입력했습니다.
<script type="text/javascript">alert('hello');script>
만약 그가 입력한 길이가 합법적이고,django도 확실히 어떤 특수한 문자 변환 방법을 제공하지 않았다면, 웹 페이지에 표시될 때마다 매번 창이 뜨지 않았을까, 그러면 매우 안전하지 않았을 것이다.이 문제를 해결하기 위해django는 기본적으로 모든 특수한 문자를 html에 표시할 수 있는 내용으로 변환하고 전의 기능을 포함하지 않습니다!그래서 위에서 내가 출력하고 싶은데 출력이 안 되는 html 내용이 나왔다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Webshell 의 흔 한 검색 방법 과 신뢰 할 수 있 는 도구 추천웹 셸 은 보통 실행 가능 한 스 크 립 트 파일 입 니 다.공격 자 는 침입 할 때 각종 방식 으로 웹 셸 을 얻어 사이트 의 통제 권 을 얻 은 다음 에 그 후의 진일보 한 침입 행 위 를 해 야 한다.웹 셸 에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.