Django Countries
June 9, 2026 ยท View on GitHub
A Django application that provides country choices for use with forms, flag icons static files, and a country field for models.
Documentation
๐ Read the full documentation
Quick Start
Install:
pip install django-countries
Add to INSTALLED_APPS:
INSTALLED_APPS = [
# ...
'django_countries',
]
Use in your models:
from django_countries.fields import CountryField
class Person(models.Model):
country = CountryField()
Features
- 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
Support
- Python: 3.10, 3.11, 3.12, 3.13, 3.14
- Django: 4.2 (LTS), 5.2 (LTS), 6.0
- Django REST Framework: 3.14+
Contributing
Contributions are welcome! See the Contributing Guide for details.
Translations
Country names are translated using Django's standard gettext and imported from our Transifex project.