【问题标题】:Django - LocalFlavor field for a modelDjango - 模型的 LocalFlavor 字段
【发布时间】:2014-01-04 22:05:55
【问题描述】:

我正在尝试为电话号码显示本地风味字段。

这是我尝试过的:

 # Create your models here.
 class Association(models.Model):

formfield_overrides = {
        models: {'widget': CAPhoneNumberField},
}

city = models.CharField(max_length=25,unique=True)
slug = AutoSlugField(unique=True,populate_from='city')
general_manager = models.CharField(max_length=75)
address = models.TextField()
email = models.EmailField()
telephone = models.CharField(max_length=15)
telephone_extension = models.CharField(max_length=5)
fax = models.CharField(max_length=10)
link = models.URLField()
logo = models.ImageField(upload_to='uploads/img/associations')

def __str__(self):  # Python 3: def __str__(self):
    return self.city


  # Create forms
  class AssociationForm(ModelForm):
class Meta:
    model = Association
    fields = ('telephone','fax')
    widgets = {
        'name': CAPhoneNumberField,
    }

但它没有显示任何差异......它仍然是一个正常的输入字段......

谢谢, 阿拉

【问题讨论】:

    标签: python django field django-localflavor


    【解决方案1】:

    localflavors 提供表单字段,而不是 widgets。你必须像这样使用它:

    class AssociationForm(ModelForm):
        telephone = CAPhoneNumberField()
    
        class Meta:
            model = Association
            fields = ('telephone','fax')
    

    【讨论】:

    • 嘿,谢谢您的回复...我更换了它但没有任何运气...它仍然是一样的...
    • localflavors 提供表单字段,而不是 widgets。我已经更新了我的答案。
    • 嗨,这是否意味着它仍会像普通输入字段一样保持不变?它不会有2个输入框之类的吗?因为,我改了,还是正常的输入框……
    • 是的,CAPhoneNumberField 仅用于值验证。它没有添加任何花哨的小部件。
    最近更新 更多