我正在尝试自动创建这样的东西:
<input type='text' name='asdf[]' />
<input type='text' name='asdf[]' />
<input type='text' name='asdf[]' />
通过循环浏览表单中的范围。我一直在尝试这样的事情,以及其他几种变体:
# in a model class
for i in range(1, prim+1):
self.fields['asdf'] = forms.CharField(label=i)
# in the template
<form action='#' method='post'>
{{form.as_p}}
</form>
但我还没有任何运气。
我怎样才能自动化输入数组?
** 编辑 **
澄清一下,最终我需要能够访问模板中的字段,如下所示:
{% for input in form.fields.asdf %}
{{input}}
{% endfor %}
这将有望让我得到上面显示的原始输入列表......
Jacob Kaplan-Moss(Django 的合著者)最近发布了一篇关于处理动态表单的精彩文章,它应该以首选方式解决您的问题:http://jacobian.org/writing/dynamic-form- Generation/ http://jacobian.org/writing/dynamic-form-generation/
他使用了菲利克斯建议的相同方法,但值得阅读整篇文章以更好地掌握这个概念。
使用asdf[]
技术很马虎,因为那样你就必须处理排序。这也不是标准做法。
Edit:
要处理需要检测何时点击这些动态字段的情况:
{% for input in form.fields %}
{% ifequal input.label 'asdf' %}
{{ forloop.counter }}: {{input}}<br />
{% endifequal %}
{% endfor %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)