Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在HTML中创建递归表_Html_Django - Fatal编程技术网

如何在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可能的重复项可能的重复项