TemplateSyntaxError at / 第 57 行的块标记无效:'logout_url',应为 'endif'。您是否忘记注册或加载此标签?
TemplateSyntaxError at / Invalid block tag on line 57: 'logout_url', expected 'endif'. Did you forget to register or load this tag?
我正在 Django 3.1.4 中构建应用程序。
我不明白我为什么会这样
TemplateSyntaxError at /
Invalid block tag on line 57: 'logout_url', expected 'endif'. Did you forget to register or load this tag?
突出显示这一行:
<a class="nav-link" href="{% logout_url %}">Logout</a>
这是我的代码,
在我的 urls.py:
urlpatterns = [
path("logout/", LogoutView.as_view(), name="logout"),
]
在我的模板中:
{% url 'logout' as logout_url %}
{% if not request.user.is_authenticated %}
<li class="nav-item {% if request.path == login_url %}active{% endif %}">
<a class="nav-link" href="{% url 'login' %}">Login</a>
</li>
<li class="nav-item {% if request.path == register_url %}active{% endif %}">
<a class="nav-link" href="{% url 'register' %}">Register</a>
</li>
{% else %}
<li class="nav-item {% if request.path == admin_url %}active{% endif %}">
<a class="nav-link" href="{% url 'admin:index' %}">Admin</a>
</li>
<li class="nav-item {% if request.path == logout_url %}active{% endif %}"></li>
<a class="nav-link" href="{% logout_url %}">Logout</a>
<!-- logout_url -->
</li>
{% endif %}
如果我只是替换部分就可以正常工作:
<li class="nav-item {% if request.path == logout_url %}active{% endif %}"></li>
<a class="nav-link" href="{% logout_url %}">Logout</a>
</li>
与:
<li class="nav-item {% if request.path == logout_url %}active{% endif %}"></li>
<a class="nav-link" href="{% url 'logout' %}">Logout</a>
</li>
但是我不明白为什么...
好像是线
{% url 'logout' as logout_url %}
根本不起作用,
以及更多,django 期望 {% endif %}
.
那么这是否意味着代码在某一点发生故障并且无法读取 {% endif %}
标签?
任何人都可以向我解释发生了什么吗?
已解决
我使用的是 django 自定义“函数、循环、条件、ecc”。标签语法 ({% %}
) 代替 django 变量标签语法 ({{ }}
) .
我不得不替换
<a class="nav-link" href="{% logout_url %}">Logout</a>
与:
<a class="nav-link" href="{{ logout_url }}">Logout</a>
我正在 Django 3.1.4 中构建应用程序。
我不明白我为什么会这样
TemplateSyntaxError at /
Invalid block tag on line 57: 'logout_url', expected 'endif'. Did you forget to register or load this tag?
突出显示这一行:
<a class="nav-link" href="{% logout_url %}">Logout</a>
这是我的代码,
在我的 urls.py:
urlpatterns = [
path("logout/", LogoutView.as_view(), name="logout"),
]
在我的模板中:
{% url 'logout' as logout_url %}
{% if not request.user.is_authenticated %}
<li class="nav-item {% if request.path == login_url %}active{% endif %}">
<a class="nav-link" href="{% url 'login' %}">Login</a>
</li>
<li class="nav-item {% if request.path == register_url %}active{% endif %}">
<a class="nav-link" href="{% url 'register' %}">Register</a>
</li>
{% else %}
<li class="nav-item {% if request.path == admin_url %}active{% endif %}">
<a class="nav-link" href="{% url 'admin:index' %}">Admin</a>
</li>
<li class="nav-item {% if request.path == logout_url %}active{% endif %}"></li>
<a class="nav-link" href="{% logout_url %}">Logout</a>
<!-- logout_url -->
</li>
{% endif %}
如果我只是替换部分就可以正常工作:
<li class="nav-item {% if request.path == logout_url %}active{% endif %}"></li>
<a class="nav-link" href="{% logout_url %}">Logout</a>
</li>
与:
<li class="nav-item {% if request.path == logout_url %}active{% endif %}"></li>
<a class="nav-link" href="{% url 'logout' %}">Logout</a>
</li>
但是我不明白为什么...
好像是线
{% url 'logout' as logout_url %}
根本不起作用,
以及更多,django 期望 {% endif %}
.
那么这是否意味着代码在某一点发生故障并且无法读取 {% endif %}
标签?
任何人都可以向我解释发生了什么吗?
已解决
我使用的是 django 自定义“函数、循环、条件、ecc”。标签语法 ({% %}
) 代替 django 变量标签语法 ({{ }}
) .
我不得不替换
<a class="nav-link" href="{% logout_url %}">Logout</a>
与:
<a class="nav-link" href="{{ logout_url }}">Logout</a>