Django';的逐字模板标记不阻止字符转义

Django';的逐字模板标记不阻止字符转义,django,django-templates,underscore.js,Django,Django Templates,Underscore.js,我正在使用Django的内置模板系统,以及下划线.js。因此,我需要Django忽略下划线识别和呈现的特殊字符 我已经检查了django的版本,它是1.5.3 一个非常简单的例子: {% verbatim %} <%= content %> {% endverbatim %} 显然,当下划线获得HTML时,它没有工作要做,因为它找不到要解析的正确标记。我已经尝试过几种故障排除解决方案,但都不起作用: 拼写错误“verbatim”会导致错误,这让我相信Django的模板引擎正在

我正在使用Django的内置模板系统,以及下划线.js。因此,我需要Django忽略下划线识别和呈现的特殊字符

我已经检查了django的版本,它是1.5.3

一个非常简单的例子:

{% verbatim %}
   <%= content %>
{% endverbatim %}
显然,当下划线获得HTML时,它没有工作要做,因为它找不到要解析的正确标记。我已经尝试过几种故障排除解决方案,但都不起作用:

  • 拼写错误“verbatim”会导致错误,这让我相信Django的模板引擎正在识别标记
  • 正在检查django版本。与“进口django”;django.VERSION“我得到1.5.3
  • 使用{%autoescape off%}标记,这同样不起作用(可能是相关问题)
  • 以下是我的模板的完整文本,以防提供任何进一步的线索。除了{%verbatim%}之外的所有标记都执行它们应该执行的任务

    {% extends "base.html" %}
    
    {# Determine which navigation element is 'active'  #}
    {% block nav %}
        {% with 'active' as lessons_active %}
            {{ block.super }}
        {% endwith %}
    {% endblock %}
    
    {% block content %}
    
    <div class="col-md-2 lesson-left-menu">
        <a href="#"><span class="glyphicon glyphicon-arrow-left"></span> Back to Lessons</a>
    </div>
    <div class="col-md-8 lesson-container">
    
            <div class="slide multi-slide">
                <div class="lesson-header">
                    {% verbatim %}
                        <h3><%= moduleTitle  %> <small><%= title %></small></h3>
                    {% endverbatim %}
                </div>
    
                <!-- Populate dyn. based on # slides in lesson -->
                {% spaceless %}
                    <div class="lesson-progress">
                        <div class="bar complete" style="width: 20%"></div>
                        <div class="bar complete" style="width: 20%"></div>
                        <div class="bar" style="width: 20%"></div>
                        <div class="bar" style="width: 20%"></div>
                        <div class="bar" style="width: 20%"></div>
                    </div>
                {% endspaceless %}
    
                {% verbatim %}
                    <%= content %>
                {% endverbatim %}
    
                <div class="well">
                    <ul class="answers short-multi greek-text" style="min-height: 40px">
                    </ul>
                </div>
    
                {% spaceless %}
                    {% verbatim %}
                    <% _.each(options, function(optionSet) { %>
                        <ul class="options short-multi greek-text inline">
    
                            <% _.each(optionSet, function(option) { %>
                                <li><a href="#" data-value="<%= option.value  %>"><%= option.display %></a></li>
                            <% }); %>
    
                        </ul>
                    <% }); %>
                    {% endverbatim %}
                {% endspaceless %}
    
            </div>
    </div>
    {% endblock %}
    
    {%extends“base.html”%}
    {#确定哪个导航元素是“活动的”#}
    {%block nav%}
    {%以“活动”作为课程\u活动%}
    {{block.super}}
    {%endwith%}
    {%endblock%}
    {%block content%}
    {%verbatim%}
    {%endverbatim%}
    {%spaceless%}
    {%endspaceless%}
    {%verbatim%}
    {%endverbatim%}
    
    {%spaceless%} {%verbatim%}
    {%endverbatim%} {%endspaceless%} {%endblock%}
    您是否已经尝试过,但没有将代码包装到这些块中(我知道这是一个延伸)

    在您的情况下,您不必做任何事情来正确渲染。我在Django项目中有相同的设置


    您不必关闭
    {%autoescape%}
    ,除非您正在向页面中注入文本(通过变量或其他方式),也不必使用
    {%Verbatim%}
    ,除非您想忽略django标记

    逐字翻译仅在Django模板语法不应被解析的情况下才相关,因此
    {{…}
    {%…%}
    。在本例中,您有
    ,它不是Django模板语法。所以有别的事困扰着你。您可能想看看中间件,因为它们可能正在进行一些不必要的内容修改。@bouke我明白您的意思。我还尝试了
    {%autoescape off%}
    {{‘“| safe}}}
    在与
    {%verbatim%}
    相同的位置,但这也没有解决问题。不过,我不认为发生了什么。
    {% extends "base.html" %}
    
    {# Determine which navigation element is 'active'  #}
    {% block nav %}
        {% with 'active' as lessons_active %}
            {{ block.super }}
        {% endwith %}
    {% endblock %}
    
    {% block content %}
    
    <div class="col-md-2 lesson-left-menu">
        <a href="#"><span class="glyphicon glyphicon-arrow-left"></span> Back to Lessons</a>
    </div>
    <div class="col-md-8 lesson-container">
    
            <div class="slide multi-slide">
                <div class="lesson-header">
                    {% verbatim %}
                        <h3><%= moduleTitle  %> <small><%= title %></small></h3>
                    {% endverbatim %}
                </div>
    
                <!-- Populate dyn. based on # slides in lesson -->
                {% spaceless %}
                    <div class="lesson-progress">
                        <div class="bar complete" style="width: 20%"></div>
                        <div class="bar complete" style="width: 20%"></div>
                        <div class="bar" style="width: 20%"></div>
                        <div class="bar" style="width: 20%"></div>
                        <div class="bar" style="width: 20%"></div>
                    </div>
                {% endspaceless %}
    
                {% verbatim %}
                    <%= content %>
                {% endverbatim %}
    
                <div class="well">
                    <ul class="answers short-multi greek-text" style="min-height: 40px">
                    </ul>
                </div>
    
                {% spaceless %}
                    {% verbatim %}
                    <% _.each(options, function(optionSet) { %>
                        <ul class="options short-multi greek-text inline">
    
                            <% _.each(optionSet, function(option) { %>
                                <li><a href="#" data-value="<%= option.value  %>"><%= option.display %></a></li>
                            <% }); %>
    
                        </ul>
                    <% }); %>
                    {% endverbatim %}
                {% endspaceless %}
    
            </div>
    </div>
    {% endblock %}