Django: Country drop down list?

47,852

Solution 1

Django Countries

from django_countries.fields import CountryField

class Foo(models.Model):
    country = CountryField()

Solution 2

Check out "choices" parameter of a CharField.

You might also want to take a look at django-countries.

Solution 3

Ended up using the below snippet which basically defines a tuple of tuples of two character country codes. Additionally it defines a custom field type called CountryField and defaults the choices parameter to the above defined tuple. This automatically gets rendered as a drop down list.

http://djangosnippets.org/snippets/494/

Solution 4

Django Countries

from django_countries.countries import COUNTRIES

class CountryForm(forms.Form):
      country= forms.ChoiceField(COUNTRIES)

Solution 5

Two low mantained projects:

http://code.google.com/p/django-countries/

https://github.com/strange/django-country-utils

Two snippets:

http://djangosnippets.org/snippets/494/

http://djangosnippets.org/snippets/1476/

For now, I am going for a snippet.

Share:
47,852
User
Author by

User

Updated on July 09, 2022

Comments

  • User
    User almost 2 years

    I have a form for address information. One of the fields is for the address country. Currently this is just a textbox. I would like a drop down list (of ISO 3166 countries) for this. I'm a django newbie so I haven't even used a Django Select widget yet. What is a good way to do this?

    Hard-code the choices in a file somewhere? Put them in the database? In the template?