上述方法不起作用,因为
choices
这里的define将取自名为
选择
在建造
班
.
但是,您可以生成:
from django import forms
class OrderForm(forms.Form):
product_name = forms.ChoiceField(label='Product', choices=[])
def __init__(self, products=None, *args, **kwargs):
super(OrderForm, self).__init__(*args, **kwargs)
if products:
self.fields['product_name'].choices = [
(str(k), v)
for k, v in enumerate(products))
]/code>
你就这样构造了一个
OrderForm
并通过
products
参数,例如:
def some_view(request):
form = OrderForm(products=['product A', 'product B'])
# ...
# return some HttpResponse