如何从Django的localflavor.us.models.USStateField实用工具生成SELECT菜单?

时间:2019-04-30 19:08:53

标签: django django-models drop-down-menu view

我正在使用Python 3.7和Django。我正在使用“ localflavor.us.models”包将状态字段存储在我的模型中...

from localflavor.us.models import USStateField
from phonenumber_field.modelfields import PhoneNumberField
...

class UsLocation(models.Model):
    address_1 = models.CharField(_("address"), max_length=128)
    address_2 = models.CharField(_("address cont'd"), max_length=128, blank=True)

    city = models.CharField(_("city"), max_length=64, null=False)
    state = USStateField(_("state"), null=False)
    zip_code = models.CharField(_("zip code"), max_length=10, null=False)

我的问题是,以Django形式,我想创建一个反映状态选择的选择下拉菜单。有什么方法可以让我在视图上下文中的某个字段中获取USStateField提供的所有状态?我愿意使用另一个Django实用程序来验证状态。我不希望自己对所有内容进行硬编码(如果只是为了节省编写代码的时间)。

1 个答案:

答案 0 :(得分:0)

USStateSelectlocalflavor.us.forms中有一个小部件。您可以以这种形式使用它

from localflavor.us.forms import USStateSelect

class MyForm(forms.Form):
    state = froms.CharField(widget=USStateSelect)

它将呈现为一个选择下拉列表,其中包含美国所有州的选择。