在django中编写组合框的最佳方法是什么?

Alo*_*eld 2 html python django

我尝试在django中制作一个组合框.我只发现用HTML做.是否有基于表单的django代码来执行此操作?例如,我想要一个我可以选择城市的组合框,然后选择并点击提交以将城市发送到另一个页面.谢谢

ama*_*nes 7

如果您有静态城市列表,则可以使用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)
Run Code Online (Sandbox Code Playgroud)

如果要将城市保存到数据库中,可以使用ModelChoiceField:

class SelectCityForm(forms.Form):
    cities = forms.ModelChoiceField(queryset=City.objects.all())
Run Code Online (Sandbox Code Playgroud)


Has*_*ani 5

如果您有城市列表,您可以使用form如下创建:

class myForm(forms.Form):
    city_list = ['city1','city2']
    city = forms.ChoiceField(choices=city_list)
Run Code Online (Sandbox Code Playgroud)

但是,如果您的城市来自您的模型,您可以使用以下内容:

class myForm(forms.Form):
    city = forms.ModelChoiceField(queryset=City.objects.all())
Run Code Online (Sandbox Code Playgroud)