0

重複の可能性:
Django テンプレートの構文エラー

このコードのリダイレクトに{% if request.user.is_authenticated %}条件を使用すると、エラーがスローされますInvalid block tag: 'else'

{% if request.user.is_authenticated %}

{% extends "pages/page.html" %}
{% load mezzanine_tags shop_tags i18n %}
{% block body_id %}category{% endblock %}
{% block main %}{{ block.super }}
{% regroup products by category as products_by_category %}
{% for c in products_by_category %}
......  
         {% for p in c.list %}     
......
        {% if p.num_in_stock == None %}
...
         {% else %}
         {% if p.num_in_stock < 4 %}
...
            {% endif %}
            {% endif %}
        .....        
                   {% endfor %}
......
{% endfor %}
{% endblock %}

{% else %}

<script>
window.location="/stylequiz/";
</script>

このスクリプトを使用している場合、エラーは発生しません

{% if request.user.is_authenticated %}
   <h1>welcome</h1>
{% else %}

<script>
window.location="/stylequiz/";
</script>
{% endif %}

ネストされた ifに問題があるに違いないと思います。

4

1 に答える 1

2

{%extends%}内にタグを入れることはできません{%if%}。テンプレートの最初のタグである必要があります。

djangodocsからテンプレートの継承

テンプレートで{%extends%}を使用する場合は、そのテンプレートの最初のテンプレートタグである必要があります。そうしないと、テンプレートの継承は機能しません。

于 2012-12-13T06:18:24.690 に答える