Python 如何解决Django中的TemplateSyntaxError,它说;无法分析余数";
我正在尝试使用for循环反复呈现一块HTML代码。但是当我重新加载浏览器时,Django抛出了一个TemplateSyntaxErrorPython 如何解决Django中的TemplateSyntaxError,它说;无法分析余数";,python,django,Python,Django,我正在尝试使用for循环反复呈现一块HTML代码。但是当我重新加载浏览器时,Django抛出了一个TemplateSyntaxError <div class="carousel-item active"> {% for number in range(3) %} <!--Slide {{ number + 1 }}--> <div class="row"> {% for number in range(6) %}
<div class="carousel-item active">
{% for number in range(3) %}
<!--Slide {{ number + 1 }}-->
<div class="row">
{% for number in range(6) %}
<!--Slide 1 Col {{ number + 1 }}-->
<div class="col-lg-2">
<div class="card" style="width: 100%;">
<img class="card-img-top" src="..." alt="Card image cap">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
{% endfor %}
</div>
{% endfor %}
</div>
{范围(3)%%内的数字为%
{范围(6)%%内的数字为%
卡片标题
一些基于卡片标题的快速示例文本,构成了卡片内容的大部分
{%endfor%}
{%endfor%}
我希望for循环中的块可以重复渲染,但最终得到了“TemplateSyntaxError”/
无法分析“范围(3)”中的其余部分:“(3)”,Django不允许进行函数调用(使用参数)以及在模板中订阅。其基本原理是业务逻辑不应成为模板的一部分。因此,您可以通过上下文将
范围(3)
和范围(6)
对象传递给模板。{{number+1}}
也不起作用,因为这样的运算符也不受支持
另一种方法是使用,它是一个模板引擎,允许在模板中使用这种Python语法
由于数字非常小,第三种选择是使用字符串文字:
<div class="carousel-item active">
{% for row in '123' %}
<!--Slide {{ row }}-->
<div class="row">
{% for col in '123456' %}
<!--Slide 1 Col {{ col }}-->
<div class="col-lg-2">
<div class="card" style="width: 100%;">
<img class="card-img-top" src="..." alt="Card image cap">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
{% endfor %}
</div>
{% endfor %}
</div>
“'123%”中的行的“{%”
“'123456%”中列的“{%”
卡片标题
一些基于卡片标题的快速示例文本,构成了卡片内容的大部分
{%endfor%}
{%endfor%}
Django不允许在模板中进行函数调用(带参数)和订阅。其基本原理是业务逻辑不应成为模板的一部分。因此,您可以通过上下文将范围(3)
和范围(6)
对象传递给模板。{{number+1}}
也不起作用,因为这样的运算符也不受支持
另一种方法是使用,它是一个模板引擎,允许在模板中使用这种Python语法
由于数字非常小,第三种选择是使用字符串文字:
<div class="carousel-item active">
{% for row in '123' %}
<!--Slide {{ row }}-->
<div class="row">
{% for col in '123456' %}
<!--Slide 1 Col {{ col }}-->
<div class="col-lg-2">
<div class="card" style="width: 100%;">
<img class="card-img-top" src="..." alt="Card image cap">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
{% endfor %}
</div>
{% endfor %}
</div>
“'123%”中的行的“{%”
“'123456%”中列的“{%”
卡片标题
一些基于卡片标题的快速示例文本,构成了卡片内容的大部分
{%endfor%}
{%endfor%}
您不能进行函数调用(模板中有参数),因此范围(3)
将不起作用。通过上下文将其传递到模板,或使用Jina。您不能进行函数调用(模板中有参数),因此range(3)
将不起作用。通过上下文将其传递给模板,或者使用Jina。