如何在Django表单中创建“孩子”问题?
问题描述:
我想知道如何使用Django表单创建“孩子”问题。那就是,根据上一个问题提供的答案,只能看到问题。如何在Django表单中创建“孩子”问题?
我确信我没有使用这个术语“孩子”的问题正确的术语,但我相信有人会找出我的意思
在下面的例子中,当用户选择“联合美国“选择它们来自哪个状态的选项应该可见。这将是我的网站表格上的标准。
是否有可用的标准功能?
国家名单
COUNTRY = (
("", "----------"),
(AFGHANISTAN, 'Afghanistan'),
(ALBANIA, 'Albania'),
....
(UNITED STATES OF AMERICA, 'United States of America'),
....
(ZAMBIA, 'Zambia'),
(ZIMBABWE, 'Zimbabwe'),
COUNTRY = forms.ChoiceField(widget=forms.Select(), choices=COUNTRY, initial="", label='What Country are you from?')
国家名单
STATE = (
("", "----------"),
(ALABAMA, 'Alabama'),
(ALASKA, 'Alaska'),
(ARIZONA, 'Arizona'),
....
....
(WYOMING, 'Wyoming'),
(DISTRICT_OF_COLUMBIA, 'District of Columbia'),
(PUERTO_RICO, 'Puerto Rico'),
(GUAM, 'Guam'),
(AMERICAN_SAMOA, 'American Samoa'),
(US_VIRGIN_ISLANDS, 'US Virgin Islands'),
(NORTHERN_MARIANO_ISLANDS, 'Northern Mariana Islands'),
)
state = forms.ChoiceField(widget=forms.Select(), choices=STATE, initial="", label='What State are you from?')
答
你或许应该只使用JavaScript来显示/隐藏 “孩子” 选择,然后当你处理你的表单,如果国家/地区值为美国,则只保存一个州的值。
Django不开箱即用。有一个第三方软件包'django-smart-selecting',我发现有些人至少在某些方面使用了它 - 它肯定会尝试处理一个字段的选项取决于另一个字段的值的情况,但是我不确定它处理的情况下,除了某些值之外,您甚至不想显示选择输入。我自己并没有使用它,我只是看到它提到了很多。 – 2014-09-18 19:03:42