我想在用户注册页面时使用 PYtZ 包添加一个显示公共(public)时区的下拉列表。要注册用户,我正在使用 UserCreationForm 类。代码如下:
class UserRegisterForm(UserCreationForm):
email2 = forms.EmailField(label=_("E-mail"))
def clean_email2(self):
email2 = self.cleaned_data['email2']
try:
user = User.objects.get(email=email2)
except User.DoesNotExist:
return email2
raise forms.ValidationError(_("Account with this e-mail address already exists."))
def save(self, commit=True):
user = super(UserRegisterForm, self).save(commit=False)
user.email = self.cleaned_data["email2"]
user.is_active = False
if commit:
user.save()
return user
我使用以下命令获取所有常见时区的列表:
>>> from pytz import timezone
>>> import pytz
>>> print(pytz.common_timezones)
它打印: http://pastebin.com/RHdie16M
我也知道选择字段,但使用它不是一个好主意。我该怎么办?
最佳答案
您可以这样使用选择字段:
timezone = forms.ChoiceField(choices=[(x, x) for x in pytz.common_timezones])
关于django - 如何使用 UserCreationForm 类在用户注册页面使用 python-TZ 添加时区下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10578440/