如何在HTML中创建递归表
我有以下代码:如何在HTML中创建递归表,html,django,Html,Django,我有以下代码: <h3 style="margin: 0px; margin-bottom: 20px;">Click the checkboxes for more subscriptions</h3> {% for keyword in keyword_list %} {% if keyword.keyword_name == userprofile.keyword
<h3 style="margin: 0px; margin-bottom: 20px;">Click the checkboxes for more subscriptions</h3>
{% for keyword in keyword_list %}
{% if keyword.keyword_name == userprofile.keywords_subscribed %}
<input type="checkbox" disabled="disabled" name="keywords" value="keywords"/>
{{keyword.keyword_name}}
<br />
{% else %}
<input type="checkbox" name="cb" value="keywords" />
{{keyword.keyword_name}}
<br />
{% endif %}
{% endfor %}
单击复选框以获取更多订阅
{关键字列表%中的关键字的百分比}
{%if keyword.keyword\u name==userprofile.keywords\u订阅%}
{{keyword.keyword_name}
{%else%}
{{keyword.keyword_name}
{%endif%}
{%endfor%}
现在它只是一个一个地显示关键字的复选框。我想知道是否有什么方法可以把它变成表格
我需要表是动态的,因为列表中的关键字数量将不断扩大
我曾尝试使用存储在数据库中的关键字id来提出一些解决方案,但这是一种乏味的方法
还有其他我可能错过的有效方法吗
这是django和html的混合体,所以不要对这些独特的术语感到惊慌p
谢谢你的帮助!:为什么不直接说出来呢
<h3 style="margin: 0px; margin-bottom: 20px;">Click the checkboxes for more subscriptions</h3>
<table>
<tbody>
{% for keyword in keyword_list %}
<tr>
<td>
{% if keyword.keyword_name == userprofile.keywords_subscribed %}
<input type="checkbox" disabled="disabled" name="keywords" value="keywords"/>
{% else %}
<input type="checkbox" name="cb" value="keywords" />
{% endif %}
{{keyword.keyword_name}}
</td>
</tr>
{% endfor %}
</tbody>
</table>
上面的代码只在关键字列表的长度可以被3整除时才起作用,但它说明了一般的想法。为了解决这个问题,你可以在列表中添加空项,使其满足这个条件。这样做的自定义过滤器可能是一个好主意
如果你想得到更复杂的东西,那就再次使用If条件和forloop变量
对于一些非常复杂的东西,最好编写一个自定义过滤器或模板标记,以使模板文件更清晰。为什么不明确地这样做呢
<h3 style="margin: 0px; margin-bottom: 20px;">Click the checkboxes for more subscriptions</h3>
<table>
<tbody>
{% for keyword in keyword_list %}
<tr>
<td>
{% if keyword.keyword_name == userprofile.keywords_subscribed %}
<input type="checkbox" disabled="disabled" name="keywords" value="keywords"/>
{% else %}
<input type="checkbox" name="cb" value="keywords" />
{% endif %}
{{keyword.keyword_name}}
</td>
</tr>
{% endfor %}
</tbody>
</table>
上面的代码只在关键字列表的长度可以被3整除时才起作用,但它说明了一般的想法。为了解决这个问题,你可以在列表中添加空项,使其满足这个条件。这样做的自定义过滤器可能是一个好主意
如果你想得到更复杂的东西,那就再次使用If条件和forloop变量
对于非常复杂的内容,最好编写一个自定义过滤器或模板标记,以使模板文件更清晰。thatnks zoltak,但我真正想要的是将列表显示为三列。如果我希望我的列表只显示在一列中,那么显式编码将起作用。另外,如果程序在第一列中显示10个关键字,它将在下一列中自动显示关键字列表。这可能吗?非常感谢。我现在对表格的工作原理有了更好的了解。再次感谢!:Dthatnks zoltak,但我真正想要的是将列表显示为三列。如果我希望我的列表只显示在一列中,那么显式编码将起作用。另外,如果程序在第一列中显示10个关键字,它将在下一列中自动显示关键字列表。这可能吗?非常感谢。我现在对表格的工作原理有了更好的了解。再次感谢!:D可能的重复项可能的重复项