我需要一个小帮助..我正在循环遍历数据库中的对象并将所有对象渲染到模板,到目前为止一切顺利。但我想要的是每个呈现的 html 名称字段应该有不同的名称,以便我可以稍后引用它们。我的代码是这样的:
{% for p in products %}
<input type="number" name="name1" value="{{p.arg1}}" size="12"/>
<input type="number" name="name2" value="{{p-arg2}}" size="12"/>
{% endfor %}
但是如果我在数据库中有 4 个对象,那么我将在模板中拥有 8 个呈现的输入字段,但所有这些字段的“名称”值都会为 name1 和 name2,是否可以动态创建 8 个不同的名称,以便我可以在我的 View 中再次引用它们...
谢谢
最佳答案
使用forloop.counter变量
{% for p in products %}
<input type="number" name="name-{{forloop.counter}}-arg1" value="{{p.arg1}}" size="12"/>
<input type="number" name="name-{{forloop.counter}}-arg2" value="{{p.arg2}}" size="12"/>
{% endfor %}
forloop.counter
的索引为 1。还有用于索引的 forloop.counter0
从0开始。
你确定吗django formsets这不是您需要的吗?
关于python,创建动态 html 名称值..,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10777486/