2010-08-23 3 views
4

Django 템플릿에 선택적 HTML 필터가있는 것 같아서 혼란 스럽습니다.하지만 자동으로 발생하는 것처럼 보입니다.이 데모 응용 프로그램에서 사용자가 Python 스크립트를 호출하는 작업을 수행 할 위치를 만들고 있습니다. url, 나는 이것을 새로운 창에 표시하고 싶다. 디스플레이가 돌아올 때를 제외하고는 모두 괜찮다. HTML은이 형식으로 소독된다. (페이지 소스를 볼 때 이것을 볼 수있다. :Django, 자동 HTML "템플리트에 HTML을 넣을 때"살균 "어떻게 멈추게합니까?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="content-type" /><script type="text/javascript">//<![CDATA[ si_ST=new Date //]]></script><script type="text/javascript">//<![CDATA[ _G={ST:(si_ST?si_ST:new Date),Mkt:"en- 

내가 광주 해요 :

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;&lt;html lang=&quot;en&quot; xml:lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;content-type&quot; /&gt;&lt;script type=&quot;text/javascript&quot;&gt;//&lt;![CDATA[ 
si_ST=new Date 

이 같은의 일반 HTML 버전입니다 이 템플릿을 내 HTML 템플릿의 기본 블록으로 출력하면 템플릿에는 다른 형식 (HTML이 없음)이없고,이 출력이가는 곳은 1 블록뿐입니다. 왜 이런 일이 발생하는지에 대한 조언과 일반 HTML을 표시하는 방법

http://docs.djangoproject.com/en/1.2/ref/templates/builtins/#safe

답변

8

안전 필터 사용 : 당신이 (당신이 반복 |safe를 사용하여 자신을 발견하는 경우 즉,)이 취급 템플릿의 많은 부분이 필요하면

{{ myvariable|safe }} 

을, 당신은 autoescaping 전체 판매를 비활성화 할 수 있습니다 :

{% autoescape off %} 
blah {{myvariable}} blah {{myothervariable}} 
{% endautoescape %} 
+0

+1 좋은 답변입니다! –

+0

나는이있어 : {{내용 |} 안전} 하지만 내가 오류 얻을 : "/ web_auto/call_mechanize_script에서 TemplateSyntaxError이/ 일부 문자를 분석 할 수없는 내용 | || 안전" – Rick

+0

은 {%의 autoescape 끄기 %} 괜찮 작동 .. 그 덕분에, 그래서 나는 당신에게 정확한 대답을주고 왜 다른 방식으로 작동하지 않습니다 – Rick

5

감사 .. 감사하는 브라우저에서 페이지가 아닌 HTML 텍스트)를 보여 것 또한 autoescape은 탈출 블록 폭을 제어합니다.

+0

오 확인 때문에 .. 덕분에 그 일을 뭐죠, 사람이 구문, 나는 그것이 안전에 대해 말한다 어디에 있는지 도와 드릴 – Rick

+0

을 확인해하지만 내가 구문을 알아낼 수 없습니다 먹으 렴, 나는 {{myvariable safe}}와 다른 것들을 시도했지만 작동하지 않습니다. – Rick

+0

'{{var | safe}}' –

2

이 있습니다 : 그것은 장고의 기본 이스케이프를 비활성화 "안전한"필터를 살펴 보자

관련 문제