Django: Country drop down list?
Solution 1
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.
User
Updated on July 09, 2022Comments
-
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?