1

我正在尝试将 django-localflavors 实现到我的 Django 应用程序中。

我在 models.py 的开头导入 USStateSelect 和 USZipCodeField ,然后将它们作为一个字段与其他字段一起包含在我的模型中,如下所示:

from localflavor.us.forms import USStateSelect, USZipCodeField
...
Class MyModel(models.Model):
... 
     state = USStateSelect()
     zip_5 = USZipCodeField()

但是,当我去 Django 管理员并尝试创建一个新的模型对象时,我看到我编写的所有其他字段(CharFields 等),除了任何 localflavor 字段。它们根本没有作为我的模型对象表单中的输入字段显示。我已经对我的数据库进行了迁移,所以这不是问题。

我是否误解了如何使用 django-localflavor?我在另一篇文章的回答中读到 localflavor 实际上并没有创建输入字段,只存储数据......但我也读到它确实让你输入数据。在这一点上,我很困惑。任何帮助,将不胜感激!

4

2 回答 2

0

我认为您正在寻找的是模型字段。表单字段用于构建您自己的表单(通常在管理员之外,例如联系表单)。Localflavor 有几个字段可以满足您的需求。请注意,这些本质上CharField是具有一些额外验证的 s,以确保遵循所需的格式。

于 2016-11-29T15:55:42.953 回答
0

您需要指定选择选项。

稍微改变你的代码如下:

from localflavor.us.forms import USStateSelect, USZipCodeField
...
Class MyModel(models.Model):
... 
     state = USStateSelect(choices=STATE_CHOICES) # add choices
     zip_5 = USZipCodeField() # no change on this line
于 2017-06-14T04:39:36.167 回答