符号(来自Django视图)替换为HTML实体

时间:2014-02-02 17:20:15

标签: jquery django utf-8

我正在从数据库中读取一组行(通过Django视图),我将它们发送到Django模板。在我看来:

def get_rows(request, epNum):

    # Getting rows from the database,
    #
    allStatements = all_statements.objects.all()            

    template = loader.get_template('main/show_db_content.html')

    context = RequestContext(request, {
        'allStatements': allStatements,
    })
    return HttpResponse(template.render(context))

但是,当我打印行的内容(字段为CharField)时,符号(例如<)会转换为等效的HTML实体!在我的模板中:

<script>
    var all_rows = [];

    {% for el in allStatements %}
        all_rows.push('{{ el.text_content }}'); // text_content is type CharField
    {% endfor %}

    console.log(all_rows[0])
</script>

例如,如果我的数据库中有<<,则输出为&lt;&lt;

显然,我让一些人(下面的评论)真的很生气,因为没有明确说明我的问题,我不得不承认,在某种程度上,我的错......

我的问题是:如何避免从符号到HTML实体的转换,我想打印符号,而不是HTML实体等效!

1 个答案:

答案 0 :(得分:1)

尝试使用safe过滤器

顺便说一句。您可以使用render快捷方式

缩短代码