2012-01-11 7 views
0
<div id="right_suggest_div" name={{ suggestion.key }}> 
    {{ suggestion.text }} 
    <p class="padding">Votes: {{ suggestion.votes }} </p> 
</div> 

質問: - それはhtmlとしてsuggestion.textをレンダリングすることは可能ですか?

+0

「HTMLとして」とはどういう意味ですか?私はあなたがエスケープされていないことを望んでいると思いますよね?その場合は、安全なテンプレートフィルタを使用できます。 –

+0

@jcollado、私は\ nを
タグに置き換え、アプリケーションエンジンモデルで保存してテキストをフロントエンドに返すが、HTMLとしてレンダリングする方法はわからない。私はした

{{suggestion.text}}

しかし、それは動作しませんでした – daydreamer

答えて

4

デフォルトでは、Djangoは ">"や "<"のようなシンボルをHTMLエンティティに置き換えます。 HTMLをエスケープするのをスキップすると状況が改善されると思います。

{% autoescape off %} 
<div id="right_suggest_div" name={{ suggestion.key }}> 
    {{ suggestion.text }} 
    <p class="padding">Votes: {{ suggestion.votes }} </p> 
</div> 

{% endautoescape %} 

またはsafeフィルタに{{ suggestion.text|safe }}

+0

私は安全なフィルターを試して、働いた、ありがとう@Uku – daydreamer

3

を使用これはsafeが何のためにあるのかです。

<div id="right_suggest_div" name={{ suggestion.key }}> 
    {{ suggestion.text|safe }} 
    <p class="padding">Votes: {{ suggestion.votes }} </p> 
</div> 

しかし、ユーザーが自分の入力として

<script>//do so nasty stuff</script> 

に入る状況について考えてください。基本的には、ユーザーにそのコンテンツを提供することになります。

関連する問題