2011-11-24 3 views
1

私は現在、国/地域入力フォームを作成しています。ので、ここで私がやっているものだ、すべての州/地域/地域をダンプする方法はありますか?

enter image description here

私は本当にこれを行うには、別の良い方法を発見していない:あなたは、このような何かを知っています。私はdjango-countriesを使用して、単にHTMLに出国の全てをダンプするために私のテンプレートでループのためにやっている:

def myview(request): 
    from django_countries import countries 
    return direct_to_template(request, "template.html", { "countries": countries.COUNTRIES }) 

{% for country in countries %} 
    <option value="{{country.0}}">{{country.1}}</option> 
{% endfor %} 

は今、トリッキーな部分です。私は基本的に可能な限りネイティブコントロールの限りを活用したいと思いますので、私はこのような何かを探しています:

{% for country in territory_countries %} 
    <optgroup label="{{country.0}}"> 
     {% for territory in country.1 %} 
      <option value="{{territory.0}}">{{territory.1}}</option> 
     {% endfor %} 
    </optgroup> 
{% endfor %} 

右、泥などのクリアを?

最初COUNTRIESリストは次のようになります。「これはまさにそのように見ているが、それはありません

TERRITORIES = (
    ('US', 
     ('AL', 'Alabama'), 
     ('AK', 'Alaska'), 
    ), 
) 

COUNTRIES = (
    ('US', 'United States'), 
) 

私はこのようなものが欲しいです私はそれを私のデザインに合わせることができればいいですね。

私はこれについて間違っていますか?これを行うには、より良い、スマートな方法がありますか? Djangoモジュールはこれに関してずっとスマートで、データベースの実際のモデルを使用していますか?

それを行うのは非常に良くなるだろう:

countries = Country.objects.all() 

<select id="countries"> 
    {% for country in countries %} 
     <option value="{{country.abbr}}">{{country.name}}</option> 
    {% endfor %} 
</select> 

<select id="territories"> 
    {% for country in countries %} 
     {% if country.territories %} 
      <optgroup label="{{country.abbr}}"> 
       {% for territory in country.territories %} 
        <option value="{{territory.abbr}}">{{territory.name}}</option> 
       {% endfor %} 
      </optgroup> 
     {% endif %} 
    {% endfor %} 
</select> 

はこれで私を助けるために何かがありますか?私はちょうど "それと一体どういうこと"と私が欲しいことをするためにDjangoモジュールを構築する必要がありますか? django-locality

は私の苦しみのメリットを享受:

答えて

1

うん、私は間違いなく、この問題に対処するためのDjangoのライブラリを構築しました。

関連する問題