gpt4 book ai didi

django localflavors 美国

转载 作者:行者123 更新时间:2023-12-04 11:29:42 26 4
gpt4 key购买 nike

以下显示而不是我模板中的字段。

<django.contrib.localflavor.us.forms.USStateSelect object at 0x92b136c>

我的模板有
{{ form.state }}

问题是什么?
class RegistrationForm(forms.Form):

first_name = forms.CharField(max_length=20)
last_name = forms.CharField(max_length=20)
phone = USPhoneNumberField()
address1 = forms.CharField(max_length=45)
address2 = forms.CharField(max_length=45)
city = forms.CharField(max_length=50)
state = USStateSelect()
zip = USZipCodeField()

还有无论如何我可以使状态和 zipper 可选吗?

最佳答案

要将选项限制为下拉列表,请使用 us.us_states.STATE_CHOICES在您的模型中,并使用 us.forms.USStateField()而不是 us.forms.USStateSelect()在你的表格中。

要使表单中的字段可选,请添加 blank = True到模型中的那个字段。

from django.contrib.localflavor.us.us_states import STATE_CHOICES
from django.contrib.localflavor.us.models import USStateField

class ExampleLocation(models.Model):
address1 = models.CharField(max_length=45) #this is not optional in a form
address2 = models.CharField(max_length=45, blank = True) #this is made optional
state = USStateField(choices = STATE_CHOICES)

而不是 STATE_CHOICES ,您可以找到几个选项 in the localflavor documentation . STATE_CHOICES是最具包容性的,但这可能不是您想要的。如果你只想要 50 个州,加上 DC,使用 US_STATES .

此答案假定您使用的是 ModelForms .如果你不是,你应该是。制作模型后,您应该遵循 DRY 并创建如下基本形式:
from django.forms import ModelForm

class ExampleForm(ModelForm):
class Meta:
model = ExampleLocation

它从您的模型继承了您的字段。如果您不想要整个模型,您可以自定义哪些字段可用,其他 class Meta选项如 fieldsexclude .模型表单与任何其他表单一样可定制,它们只是从模型字段的假设开始。

关于django localflavors 美国,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6420190/

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