Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django: Country drop down list?

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?

like image 841
User Avatar asked Jun 03 '10 07:06

User


3 Answers

Check out "choices" parameter of a CharField.

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

like image 135
Juho Vepsäläinen Avatar answered Sep 24 '22 15:09

Juho Vepsäläinen


Django Countries

from django_countries.fields import CountryField

class Foo(models.Model):
    country = CountryField()
like image 34
aehlke Avatar answered Sep 21 '22 15:09

aehlke


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/

like image 37
User Avatar answered Sep 23 '22 15:09

User