Django模板:模板if语句中没有输出

时间:2012-12-17 16:22:26

标签: django django-templates

我有一个基本模板,其中包含一个标题。标题包含以下代码。

但由于某些原因,我在if块之间没有输出,有什么原因吗? ps没有错误。模板的其余部分输出就好了。

base.html文件

<body>
    {% include 'includes/header.html' %}
    {% block sliderWrapper %}{% endblock %}
    {% block titleWrapper %}{% endblock %}
    <div id="wrapper">
        <div class="container">
            {% block mainWrapper %}{% endblock %}
        </div>
    </div>
    {% include 'includes/footer.html' %}
    {% include 'includes/copyright.html' %}
    {% include 'includes/js.html' %}
</body>

下面的{%include'includes / header.html'%}的内容......一切都显示不是两个登录/注销链接。将它们带出街区并展示。 if

中没有声明
   <div class="span9">
                    <div class="navbar navbar-inverse">
                        <div class="navbar-inner">
                            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                                <span class="icon-bar"></span>
                            </a>
                            <div class="nav-collapse collapse">
                                <ul class="nav">
                                    <li><a href="/">Home</a></li>
                                    <li><a href='{% url django.contrib.flatpages.views.flatpage url="how-it-works/" %}'>How does it work?</a></li>
                                    <li><a href='{% url django.contrib.flatpages.views.flatpage url="how-it-works/" %}'>Download</a></li>
                                    <li><a href="/member/registration/">Register</a></li>
                                    {% if user.is_authenticated %}
                                        <li><a href="/member/logout/">Logout</a></li>
                                    {% else % }
                                        <li><a href="/member/login/">Login</a></li>
                                    {% endif %}
                                </ul>
                            </div>
                        </div>
                    </div>

已安装“django.contrib.auth.context_processors.auth”且已启用会话。

如果我输出{{ user }}我得到的AnonymousUser就是我所不同的,所以,人们会认为'else'条件会被触发,但是这两个条件似乎都没有得到满足。

请求上下文也正在传递......

return render_to_response('pageRegistration.html', context,context_instance=RequestContext(request))

1 个答案:

答案 0 :(得分:1)

我相信你的代码中有一个语法错误,它被忽视了:

{% else % }

应该是:

{% else %}

Django模板系统可能会查找正则表达式{%...%},因为它不匹配,它只被视为{% if %}{% endif %}节点内的文本。