Django: Länderauswahlliste?
Habe ich ein Formular für Adress-Informationen. Eines der Felder ist für die Adressen-Land. Derzeit ist dies nur eine textbox. Ich möchte ein drop-down-Liste (ISO-3166 Länder). Ich bin eine django-Neuling also, ich habe nicht einmal verwendet, eine Django-widget noch. Was ist ein guter Weg, dies zu tun?
Hard-code, die Entscheidungen, die in einer Datei irgendwo??? Setzen Sie Sie in die Datenbank? In der Vorlage?
InformationsquelleAutor der Frage User | 2010-06-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check out " Auswahl " - parameter eines CharField.
Vielleicht möchten Sie auch einen Blick auf django-Ländern.
InformationsquelleAutor der Antwort Juho Vepsäläinen
Django Ländern
InformationsquelleAutor der Antwort aehlke
Endete anhand der folgenden snippet die im Grunde definiert ein Tupel von Tupeln aus zwei Zeichen Ländercodes. Zusätzlich definiert einen benutzerdefinierten Feld-Typ " CountryField und Standardwerte die Auswahl der parameter zu den oben angegebenen Tupel. Dies wird automatisch gemacht, wie eine drop-down-Liste.
http://djangosnippets.org/snippets/494/
InformationsquelleAutor der Antwort User
Django Ländern
InformationsquelleAutor der Antwort Asinox
überprüfen diesehier ist eine Liste aller Länder auf der Basis der ISO 3166 programmiert in python und verwenden Auswahl-option in django-Modell.
InformationsquelleAutor der Antwort eos87
Beiden low-gepflegt-Projekte:
http://code.google.com/p/django-countries/
https://github.com/strange/django-country-utils
Zwei snippets:
http://djangosnippets.org/snippets/494/
http://djangosnippets.org/snippets/1476/
Für jetzt, ich werde für ein snippet.
InformationsquelleAutor der Antwort toto_tico
Hier ist eine schöne Bibliothek mit den Ländern (und nicht nur): pycountry
Sein Hauptvorteil ist, dass es ist ein wrapper um Debian-Paket pkg-isocodes (daher können updates automatisch mit ihm) im Vergleich zu hart-codiert Ländern, die in anderen Lösungen. Es hat auch übersetzungen.
Also, wenn neues Land erscheint oder bestehende Länder zusammengelegt brauchen Sie nicht den code ändern.
Fand ich es sinnvoll, diese Bibliothek verwenden, und erstellen Sie eine einfache Django-app mit der Modell-Land zum Beispiel
Dann können Sie füllen Sie und halten Sie up-to-date zu Ihr 'Land' - Tabelle können mit Hilfe von benutzerdefinierten django-admin-Befehl wie hier beschrieben: Schreiben von benutzerdefinierten django-admin-Befehle
InformationsquelleAutor der Antwort Strikki
Setzen Sie Sie in die Datenbank ist ein besserer Weg. Bequem zu management.
InformationsquelleAutor der Antwort andyshi
Als die vorherigen Antworten gesagt haben, es ist ein
CountryField
imdjango-countries
. Dies ist ein model-Feld.Wenn ein Formular-Feld benötigt wird, in einer einfachen form (nicht-Modell-form), in
django-countries
v3.x (definitiv getestet und 3.3) die folgenden verwendet werden können:InformationsquelleAutor der Antwort Wtower
Hier ist die Lösung:
InformationsquelleAutor der Antwort josephmisiti