Python If语句在第127行抛出TemplateSyntaxError无效块标记:';else';,预期';空的';或';endfor';
我正在尝试制作django应用程序,但遇到以下错误: 异常类型:TemplateSyntaxError异常值:无效块 第127行的标记:“else”,应为“empty”或“endfor”。你忘了吗 要注册或加载此标记 我已经检查了代码,在我的模板文件中找不到任何打字错误,但模板正常加载,没有以下行:Python If语句在第127行抛出TemplateSyntaxError无效块标记:';else';,预期';空的';或';endfor';,python,django,django-models,django-templates,django-views,Python,Django,Django Models,Django Templates,Django Views,我正在尝试制作django应用程序,但遇到以下错误: 异常类型:TemplateSyntaxError异常值:无效块 第127行的标记:“else”,应为“empty”或“endfor”。你忘了吗 要注册或加载此标记 我已经检查了代码,在我的模板文件中找不到任何打字错误,但模板正常加载,没有以下行: {% endif %} {% for i in listings.paginator.page_range %} {% if listings.number == i %} <
{% endif %} {% for i in listings.paginator.page_range %} {% if
listings.number == i %}
<li class="page-item active">
<a class="page-link">{{ i }}</a>
</li>
{% else %}
<li class="page-item">
<a href="?page={{ i }}" class="page-link">{{ i }}</a>
</li>
{% endif %} {% endfor %}
{%endif%}{%for i in listings.paginator.page_range%}{%if
listings.number==i%}
{%endif%}{%endfor%}
我的整个应用程序代码都在listings文件夹中的github repo中:
我的模板代码如下:
我在listings应用程序中检查了models.py和views.py,但它们的格式似乎正确
我使用的是windows 10、python 3.7.3、django 2.2.6
谢谢你的帮助。:) < P>,您的问题是,您的初始“IF”标记在其中有一条新行。
{% endif %} {% for i in listings.paginator.page_range %} {% if
listings.number == i %}
尝试将每个标记保留在一行上,并且每行有一个标记
{% for foo in bar %}
{% if foo.baz %}
{% else %}
{% endif %}
{% endfor %}
,您的问题是,您的初始“IF”标记在其
中有一条新行。{% endif %} {% for i in listings.paginator.page_range %} {% if
listings.number == i %}
尝试将每个标记保留在一行上,并且每行有一个标记
{% for foo in bar %}
{% if foo.baz %}
{% else %}
{% endif %}
{% endfor %}
注意:上面代码中的缩进没有很好地复制。我把它放在大致正确的形状。你确定,github的链接正好显示了你遇到问题的模板文件吗?第119行没有
else
语句。一般建议。在使用git时,请确保提交了所有内容,并将模板减少到最低限度,这样仍然会产生错误。我相信这个问题几乎可以自我解释。如果愿意,您甚至可以删除html。您只需要保留{%…%}
语句,以查看模板引擎是否出现故障。我有一段时间没有使用django模板,但我认为您在{%
之后和%}
之前需要空格,但我看到这样一行{%endfor%}
谢谢,在github repo中,标记位于第127行,而不是第119行。当我转换代码试图修复它时,我抛出了第119行错误和第127行错误。两行间距之间没有任何变化。问题是下面提到的多行标记。正如你所看到的,准确地发布失败的内容,而不是做出任何假设,这一点非常重要。问题中的代码片段甚至不包含所讨论的多行标记。git存储库与您的错误描述不匹配。这使得不必要地难以分析和再现该问题。这也使得该问题对搜索该问题/类似问题的档案人员来说用处不大。也许您可以修改问题中的行号,并将代码段更改为包含问题的内容?注意:上面代码中的缩进没有很好地复制。我把它放在大致正确的形状。你确定,github的链接正好显示了你遇到问题的模板文件吗?第119行没有else
语句。一般建议。在使用git时,请确保提交了所有内容,并将模板减少到最低限度,这样仍然会产生错误。我相信这个问题几乎可以自我解释。如果愿意,您甚至可以删除html。您只需要保留{%…%}
语句,以查看模板引擎是否出现故障。我有一段时间没有使用django模板,但我认为您在{%
之后和%}
之前需要空格,但我看到这样一行{%endfor%}
谢谢,在github repo中,标记位于第127行,而不是第119行。当我转换代码试图修复它时,我抛出了第119行错误和第127行错误。两行间距之间没有任何变化。问题是下面提到的多行标记。正如你所看到的,准确地发布失败的内容,而不是做出任何假设,这一点非常重要。问题中的代码片段甚至不包含所讨论的多行标记。git存储库与您的错误描述不匹配。这使得不必要地难以分析和再现该问题。这也使得该问题对搜索该问题/类似问题的档案人员来说用处不大。也许您可以修复问题中的行号,并将代码段更改为包含问题的内容?这就解决了问题。vscode中名为“prettier”的html自动格式化程序导致了该问题。这解决了该问题。vscode中名为“prettier”的html自动格式化程序导致了该问题。