0

私はdjangoを学んでいて、実用的なサイトを作ることを考えているので、それに取り組んでいます。<textarea>しかし、html のタグに問題がありました。

明らかに、私は<textarea>長いテキストのユーザー入力領域である Web ページにあり、その特定の入力をデータベースに保存しています。これには<div>, <span>, <body>、Web アーティカルなどの HTML タグが含まれています。テンプレートを使用してレンダリングすると、自動エスケープが適用され、すべてのタグ<div>, <span>, <body>が表示されます。セキュリティ上の問題のため、通常の言葉として。<b>安全なフィルターを使用している場合、すべての HTML タグを印刷できない Web ページまたはWeb ページに印刷できません<em>

しかし、私はいくつかの html タグ<b></b>, <em></em>, <code></code>, <li></li>をユーザーの必要に応じてレンダリングしたいと思っています。つまり、作家が HTML に関する記事を書いているとき、彼は記事<b></b>に通常の単語として書くことができますが、単語を太字にする必要があるときは、<b></b>HTML タグを次のように使用できます。良い。

4

1 に答える 1

0

django-html_sanitizerアプリを使用できます。プロジェクトに追加した後、それを使用して、残すことを選択したタグを除くすべてのタグを削除/エスケープできます。

テンプレートでの使用例:

{% strip_html your_text "em, b, code, li" %}
于 2013-10-20T18:28:21.177 に答える