Django - 使用字符串获取表单字段

2024-10-01 07:22:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到一个Django显示正确的表单。我的表单有多个段,其中一个组如下所示:

aant_inw = forms.BooleanField(widget=forms.HiddenInput(), required=True, label="Aantal inwoners")
aant_inw_min = forms.IntegerField(required=False)
aant_inw_max = forms.IntegerField(required=False) 
aant_inw_priority = forms.FloatField(required=False)   

问题是我只在隐藏字段上循环,然后在该行中添加另外3个(一旦选中此字段,该组的其他3个表单字段将变为可见)。在

我考虑创建一个变量,将字符串存储到表单中的正确字段。因此,将_min,_max,_priority添加到原始html名称作为前缀。但我不太确定怎么做。我尝试使用var以多种方式获得正确的表单。我尝试了form.fieldnameform[fieldname],和{}。但这些似乎都不管用,而且毫无回报。下面是我要做的事情的一小部分。在

^{pr2}$

我希望有人能帮我解决这个问题!在


Tags: djangoformfalse表单requiredformswidgetmin
1条回答
网友
1楼 · 发布于 2024-10-01 07:22:59

我的选择不太好,但必须奏效:

{% with fieldname=field.html_name|add:'_min' %}
  <tr class="collapse" id="{{ field.html_name }}">
         <td>{{ field.label }}</td>
         {% if fieldname == "aant_inw_min" %}
         <td>{% render_field form.aant_inw_min class+="form-control" %}</td>
         {% elif fieldname == "aant_inw_max" %}
         <td>{% render_field form.aant_inw_max class+="form-control" %}</td>
         {% elif fieldname == "aant_inw_priority" %}
         <td>{% render_field form.aant_inw_priority class+="form-control" %}</td>
         {% endif %}
  </tr>
{% endwith %}

或者只创建一个custom templatetag。在

相关问题 更多 >