如何在django中设置choicefield的值
我有一个地址表,上面有一个国家的选择栏。我想在加载表单之前设置一个值。我怎么能这么做? 表格如下:如何在django中设置choicefield的值,django,python-2.7,django-forms,django-1.5,choicefield,Django,Python 2.7,Django Forms,Django 1.5,Choicefield,我有一个地址表,上面有一个国家的选择栏。我想在加载表单之前设置一个值。我怎么能这么做? 表格如下: from django import forms from django.utils.translation import gettext as _ from django_countries import countries from core.api import NcpAPI class AddressForm(forms.Form): # first_name
from django import forms
from django.utils.translation import gettext as _
from django_countries import countries
from core.api import NcpAPI
class AddressForm(forms.Form):
# first_name = forms.CharField(label=_("First Name"), widget=forms.TextInput(attrs={'class':'form-text required'}))
# last_name = forms.CharField(label=_("Last Name"), widget=forms.TextInput(attrs={'class':'form-text required'}))
# company = forms.CharField(label=_("Company"), widget=forms.TextInput(attrs={'class':'form-text required'}))
street = forms.CharField(label=_("Street/PoBox"), widget=forms.TextInput(attrs={'class':'form-text required'}))
address1 = forms.CharField(label=_("Address1"), widget=forms.TextInput(attrs={'class':'form-text required'}))
address2 = forms.CharField(required=False, label=_("Address2"), widget=forms.TextInput(attrs={'class':'form-text'}))
address3 = forms.CharField(required=False, label=_("Address3"), widget=forms.TextInput(attrs={'class':'form-text'}))
city = forms.CharField(label=_("City"), widget=forms.TextInput(attrs={'class':'form-text required'}))
postal_code = forms.CharField(label=_("Postal code"), widget=forms.TextInput(attrs={'class':'form-text required'}))
country = forms.ChoiceField(label=_("Country"), choices=countries.COUNTRIES, widget=forms.Select())
或者您可以在调用表单构造函数时启动它
form = AddressForm(initial={'country': 'us'})
更可维护:例如,forms.ChoiceField(label=u(“Country”)、choices=countries.countries、widget=forms.Select()、default=countries.countries[0]),如果有一天您的选择发生变化,Django不会崩溃:)@Ricola3D默认值适用于模型,适用于表单initial@suhail,您的代码无法在我的上运行,因为我正在使用sessionwizard。对不起,我忘了提那件事。
form = AddressForm(initial={'country': 'us'})