2011-09-14 3 views
9

Django 프로젝트에서 Jinja2를 테스트하고 이상한 결과가 나옵니다. 내가 양식을 렌더링 할 때 , 일부 문자는 템플릿에서 (등 < >) 인코딩 된 HTMLJinja 2 - Django Form : HTML로 인코딩합니다.

있습니다

{{ form.as_p() }} 

그것은 브라우저에 렌더링 : 소스를 보면

<p><label for="id_username">Utilisateur:</label> <input autocomplete="off" id="id_username" type="text" name="username" maxlength="100" /></p> <p><label for="id_password">Mot de passe:</label> <input autocomplete="off" type="password" name="password" id="id_password" /></p> 

:

&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;id_username&amp;quot;&amp;gt;Utilisateur:&amp;lt;/label&amp;gt; &amp;lt;input autocomplete=&amp;quot;off&amp;quot; id=&amp;quot;id_username&amp;quot; type=&amp;quot;text&amp;quot; name=&amp;quot;username&amp;quot; maxlength=&amp;quot;100&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt; 
&amp;lt;p&amp;gt;&amp;lt;label for=&amp;quot;id_password&amp;quot;&amp;gt;Mot de passe:&amp;lt;/label&amp;gt; &amp;lt;input autocomplete=&amp;quot;off&amp;quot; type=&amp;quot;password&amp;quot; name=&amp;quot;password&amp;quot; id=&amp;quot;id_password&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt; 

누구든지이 문제를 알고 있습니까?

답변

26

Jinja2는 HTML-escaping the data으로 안전을 기하고자합니다. 따라서 |safefilter을 사용해야합니다. 내가 Jinja2 장고를 사용하지 않지만

, 나는이 일을한다고 생각 그레이트

{{ form.as_p()|safe }} 
+0

이 잘 작동합니다. 감사합니다. – Patrick

+5

@ 패트릭 :이 게시물이 유용하다고 생각되면 [수락] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)하십시오. –

+1

Upvoted. 나도 도와 줬어! – Raj

관련 문제