【发布时间】:2014-09-18 17:31:33
【问题描述】:
我想知道如何使用 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?')
【问题讨论】:
-
Django 没有开箱即用。有一个第三方包,
django-smart-selects,我见过一些人至少在其中的某些部分使用它——它肯定会尝试处理一个字段的选项取决于另一个字段的值的情况,但我不是确保它可以处理除了某些值之外您甚至不想显示选择输入的情况。我自己没有使用过它,我只是看到它提到了很多。
标签: django django-forms