2014-11-22 132 views
0

我嘗試在django中製作組合框。我只發現用HTML做。有沒有一個基於表單的Django代碼來做到這一點? 例如,我想要一個可以選擇城市的組合框,然後選擇並點擊提交以將城市發送到另一個頁面。 感謝在django中編寫組合框的最佳方式是什麼?

+0

看一看錶格文檔https://docs.djangoproject.com/en/1.7/ref/forms/widgets/ #selectmultiple它可能正是你所需要的 – 2014-11-22 19:56:22

回答

2

如果您有城市的列表,你可以使用創建form這樣的:

class myForm(forms.Form): 
    city_list = ['city1','city2'] 
    city = forms.ChoiceField(choices=city_list) 

但是,如果你的城市從模型中去,你可以使用使用這樣的:

class myForm(forms.Form): 
    city = forms.ModelChoiceField(queryset=City.objects.all()) 
4

如果您有城市的靜態列表,您可以創建使用ChoiceField組合框:

from django import forms 

class SelectCityForm(forms.Form): 
    CITY_1 = 'city_1' 
    CITY_2 = 'city_2' 
    CITY_CHOICES = (
     (CITY_1, u"City 1"), 
     (CITY_2, u"City 2") 
    ) 
    cities = forms.ChoiceField(choices=CITY_CHOICES) 

如果您要保存城市到數據庫中,你可以使用ModelChoiceField

class SelectCityForm(forms.Form): 
    cities = forms.ModelChoiceField(queryset=City.objects.all()) 
+0

爲什麼你在'CITY_CHOICES'項目元組的末尾加上一個點? – 2018-02-16 07:28:47

+0

@SergeKishiko固定。這是一個錯字。謝謝! – amatellanes 2018-02-16 07:44:06

+0

不客氣@amatellanes – 2018-02-16 07:48:17

相關問題