在Django中为用户选择国家

1 投票
1 回答
1453 浏览
提问于 2025-04-20 14:19

我不确定这里是不是问这个问题的合适地方,或者应该去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()

撰写回答