Python 复选框如果选中或未选中,则选择多个Django提取
我被卡在“复选框SelectMultiple”上,我不知道如何提取用户选择的内容和未选择的内容 例如,my forms.py:Python 复选框如果选中或未选中,则选择多个Django提取,python,django,Python,Django,我被卡在“复选框SelectMultiple”上,我不知道如何提取用户选择的内容和未选择的内容 例如,my forms.py: from django import forms FAVORITE_COLORS_CHOICES = ( ('blue', 'Blue'), ('green', 'Green'), ('black', 'Black'), ) class MyForm(forms.Form): favorite_colors = forms.Mult
from django import forms
FAVORITE_COLORS_CHOICES = (
('blue', 'Blue'),
('green', 'Green'),
('black', 'Black'),
)
class MyForm(forms.Form):
favorite_colors = forms.MultipleChoiceField(
required=False,
widget=forms.CheckboxSelectMultiple,
choices=FAVORITE_COLORS_CHOICES,
)
my views.py:
from accounts.forms import MyForm
def my_view(request):
form = MyForm(request.POST or None)
if request.method == "POST":
if form.is_valid():
try:
if request.POST["favorite_colors"]:
print(request.POST["favorite_colors"])
except:
print(request.POST["favorite_colors"])
return render(request, 'accounts/form.html', {'form': form})
目前,它给了我最后一个选中的复选框,我如何检查是否选中了特定的复选框?(例如'if request.POST[“favorite_colors.blue”]:print('blue')或类似的内容)。尝试类似的方法吗
def my_view(request):
form = MyForm(request.POST or None)
if request.method == "POST":
if form.is_valid():
print("Selected: " + form.cleaned_data['favorite_colors'])
else:
print("error")
return render(request, 'accounts/form.html', {'form': form})
太棒了,真管用!(只需将其从列表修改为str)实际清理的_数据的作用是什么?它从表单对象中获取信息并存储在列表中?在这里了解更多信息是的,它实际上存储为字典。然后您可以通过钥匙访问它们。