如何在django中为choicefield设置一个值

时间:2013-08-07 07:29:19

标签: 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        = 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())

1 个答案:

答案 0 :(得分:2)

country = forms.ChoiceField(label=_("Country"), 
          choices=countries.COUNTRIES, widget=forms.Select(), initial= 'us')

或者您可以在调用表单构造函数时启动它

form = AddressForm(initial={'country': 'us'})