0

我有两个列表(这些只是小例子):

Attackers = ['John', 'Mary']
Defenders = ['Steve', 'Bill', 'Dave']

我的目标是创建一个 2D 网格表单,其中包含适当数量的输入(复选框),表示两个列表之间的所有可能关系。

我很难在模型和视图级别上如何做到这一点。我已经研究过内联表单集和模型表单集,但我不确定如何继续。

编辑:

{% for at in atts %}
    {% for def in defs %}
        <input type="text" name="{{ at }}_{{ def }}" value="{{ at }}_{{ def }}" >
    {% endfor %}
    <br>
{% endfor %}
4

1 回答 1

1

为每一对创建一个复选框。将这些对以正确的顺序放入表单中(假设 HTML 倾向于从左到右,然后是向下布局),并在模板中适当地显示它。

要创建复选框:您的表单有一个称为字段的字段集合,这是一个将字段名称映射到字段对象的字典。您将希望以编程方式填充它。如果你在 django 中打开表单代码/检查 shell 中的表单对象,你会看到(除非我记错了)还有一个字段列表或元组,它控制着迭代的顺序。如上所述,您将希望以正确的顺序填充它。

要显示它:迭代模板中的表单。您将希望在表单中包含一些信息,或者以其他方式传递给模板,以描述网格的形状,以便您的模板代码可以确定在哪里放置行边界。

于 2012-12-30T22:04:48.553 回答