Django Country Kit is a Django app that provides country-related functionality, including a custom model field for storing country codes, a form widget for selecting countries, and associated tests.
- Country Model Field: Easily store and retrieve country codes in your Django models.
- Country Widget: A form widget for rendering a dropdown list of countries in your Django forms.
-
Install Django Country Kit using pip:
pip install django-country-kit
-
Add
'django_country_kit'
to yourINSTALLED_APPS
in your Django project's settings:INSTALLED_APPS = [ # ... 'django_country_kit', # ... ]
-
Run collectstatic:
python manage.py collectstatic
In your models, use the CountryField
to store country codes:
from django.db import models
from django_country_kit.fields import CountryField
class YourModel(models.Model):
country = CountryField()
For multiple selections:
from django.db import models
from django_country_kit.fields import CountryField
class YourModel(models.Model):
countries = CountryField(multiple=True)
In your forms, use the CountryWidget
to render a dropdown list of countries:
from django import forms
from django_country_kit.widgets import CountryWidget
class YourForm(forms.Form):
country = forms.CharField(widget=CountryWidget())
For multiple selections:
from django import forms
from django_country_kit.widgets import MultipleCountryWidget
class YourForm(forms.Form):
countries = forms.CharField(widget=MultipleCountryWidget())
The Country
class represents a country and provides properties for accessing its name and alpha3 code. This class is part of the Django Country Kit and offers convenient functionality for handling country-related data.
You can create an instance of the Country
class to retrieve information about a specific country. Here's how you can use it:
from django_country_kit.base import Country
# Create a Country instance with a specific country code
country = Country(code='US')
# Retrieve the name of the country
country_name = country.name # Returns 'United States'
# Retrieve the alpha3 code of the country
country_alpha3 = country.alpha3 # Returns 'USA'
Django Country Kit provides custom settings for further customization of country data:
OVERRIDE_COUNTRIES
: Allows users to override specific countries with custom data.EXCLUDE_COUNTRIES
: Allows users to exclude specific countries from the available choices.INCLUDE_COUNTRIES
: Allows users to include specific countries in the available choices.
You can customize these settings in your Django project's settings file to tailor the country data according to your needs.
We appreciate your feedback and contributions to improving Django Country Kit!
If you want to contribute to Django Country Kit, follow these steps to set up your development environment:
-
Install pipenv if you haven't already:
pip install pipenv
-
Clone the repository:
git clone https://github.com/your_username/django-country-kit.git
-
Navigate to the project directory:
cd django-country-kit
-
Install development dependencies:,
pipenv install --dev
-
Activate the virtual environment:
pipenv shell
-
Run migrations:
python manage.py migrate
-
Run collectstatic:
python manage.py collectstatic
-
Start the development server:
python manage.py runserver