gpt4 book ai didi

python - Django表单多项选择

转载 作者:IT老高 更新时间:2023-10-28 20:49:21 25 4
gpt4 key购买 nike

我是 Django 的新手,如果您能给我一些指导,我将不胜感激。我正在尝试创建一个允许用户勾选一个或多个选项的表单。我知道我必须将 MultipleChoiceField 字段与 CheckboxSelectMultiple 小部件一起使用,但 Django 文档没有提供有关此主题的示例。如果您能给我一个例子并解释我如何处理结果,我将不胜感激。例如,如果我有一个带有选项 a b c d 的表单,并且用户勾选 c 和 d。另外我如何指定选择(我不想使用数据库,我想到的是字符串列表)?非常感谢

最佳答案

forms.py

class SomeForm(forms.Form):
CHOICES = (('a','a'),
('b','b'),
('c','c'),
('d','d'),)
picked = forms.MultipleChoiceField(choices=CHOICES, widget=forms.CheckboxSelectMultiple())

views.py

def some_view(request):
if request.method == 'POST':
form = SomeForm(request.POST)
if form.is_valid():
picked = form.cleaned_data.get('picked')
# do something with your results
else:
form = SomeForm

return render_to_response('some_template.html', {'form':form },
context_instance=RequestContext(request))

some_template.html

<form method='post'>
{{ form.as_p }}
<input type='submit' value='submit'>
</form>

结果:

checkboxselectmultiple

解释:

选择:

The first element in each tuple is the actual value to be stored. The second element is the human-readable name for the option.

获取选中的框:

form.cleaned_data.get('picked') 将生成一个“实际值”列表。例如,如果我将 # do something with your results 替换为 print Pick 你会看到:

[u'a', u'c']

在您的控制台中

关于python - Django表单多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com