在Django中为用户选择国家
我不确定这里是不是问这个问题的合适地方,或者应该去Programmers SE,所以如果我发错地方了,请告诉我。
我需要在Django中创建一个用户资料模型,这个模型要包含用户的额外信息。
其中一条信息就是用户的国家。
你可以想象,世界上所有国家的列表可真是……非常庞大。
有没有什么简单的方法,可以让我实现这个功能,而不需要自己手动列出所有国家呢?
COUNTRY_CHOICE = (('Afghanistan', 'Afghanistan'), ('Albania','Albania') .....
1 个回答
5
有一个可以重复使用的应用叫做 django-countries
。它有很多功能,其中之一就是提供了一个 CountryField
:
这个国家字段是为Django模型设计的,它提供了所有ISO 3166-1标准的国家作为选项。
CountryField是基于Django的CharField,提供的选项对应于官方的ISO 3166-1国家列表(默认的最大长度是2)。
from django.db import models
from django_countries.fields import CountryField
class Person(models.Model):
name = models.CharField(max_length=100)
country = CountryField()