gpt4 book ai didi

django - 如何手动呈现表单选项

转载 作者:行者123 更新时间:2023-12-04 17:32:08 25 4
gpt4 key购买 nike

我在 form.py

SELECT_PRODUCT = [
('item1', 'item1'),
('item2', 'item2'),
('item3', 'item3'),
('item4', 'item4'),
]

class OrderBonus(forms.Form):
select_product = forms.CharField(widget=forms.Select(choices=SELECT_PRODUCT ))

在 html 中,我需要单独呈现每个选择:
<select name="{{ form_bonus.select_product .name }}">
<option value="{{form_bonus.select_product.field.choice.0}}">{{form_bonus.select_product.field.choice.0}}</option>
<option value="{{form_bonus.select_product.field.choice.1}}">{{form_bonus.select_product.field.choice.1}}</option>
<option value="{{form_bonus.select_product.field.choice.2}}">{{form_bonus.select_product.field.choice.2}}</option>
</select>

我尝试不同的方法:
1) form_bonus.select_product.field.choice.02) form_bonus.select_product.field.choice.[0]3) form_bonus.select_product.field.choice.("0")
我尝试迭代:
{% for choice in form_bonus.select_product.field.choices %}
{{ choice }}
{% endfor %}

或者
{% for value, text in form_bonus.select_product.field.choices %}
{{ value}} - {{ text }}
{% endfor %}

任何人都知道如何覆盖 Select Widget 以使用每个选项: form_bonus.select_product.field.choice.0等。

Python 3.5.2 和 Django 1.10

最佳答案

尝试这个:

<select name="{{ form_bonus.select_product.name }}">
{% for choice in form_bonus.select_product.field.choices %}
<option value="{{ choice.0 }}">{{ choice.1 }}</option>
{% endfor %}
</select>

但一定要使用 ChoiceField而不是 CharField :
class OrderBonus(forms.Form):
select_product = forms.ChoiceField(choices=SELECT_PRODUCT)

你可以简单地写 {{ form_bonus.as_p }}如果你愿意,而不是循环。

关于django - 如何手动呈现表单选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41036216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com