A Django application that provides country choices for use with forms, flag icons static files, and a country field for models.
Install:
pip install django-countriesAdd to INSTALLED_APPS:
INSTALLED_APPS = [
# ...
'django_countries',
]Use in your models:
from django_countries.fields import CountryField
class Person(models.Model):
country = CountryField()- Country Field: Django model field with all ISO 3166-1 countries
- Translated Names: Country names translated using Django's i18n system
- Flag Icons: Static flag image files for all countries
- REST Framework: Full Django REST Framework integration
- GraphQL: Support for graphene-django
- Multiple Selection: Support for multiple country selection
- Python: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
- Django: 3.2 (LTS), 4.2 (LTS), 5.0, 5.1, 5.2
- Django REST Framework: 3.11+
Contributions are welcome! See the Contributing Guide for details.
Country names are translated using Django's standard gettext and imported from our Transifex project.
