私はデータベースからの情報を渡すという見方をしています:
def serve_article(request, id):
served_article = Article.objects.get(pk=id)
# Strips out new line and tab characters
article_snippet = served_article.full_text.replace('\n','').replace('\t','')
# Gets first 300 word characters
article_snippet = re.match(r'(.{,300})\W', article_snippet).group(1)
return render(request, 'article.html', {'served_article':served_article,
'article_snippet':article_snippet})
article_snippet
、レンダリングされるまでのUnicode文字列には、多くのHTMLエンティティコードが含まれています(例:’
'に©
マップされ、レンダリング時に©にマップされます)
ただし、テンプレートではこれらのシンボルは評価されず、タグ{{ article_snippet }}
内にラップされているかのように空白のままになります(そうではありません)。<code>
私は<meta charset="utf-8">
一番上にあり、ページ上の他のシンボルはうまく評価されているので、明らかにこれらのシンボルはどういうわけかエスケープされています。この動作が発生するのはなぜですか。また、無効にするにはどうすればよいですか。