Как использовать множественный выбор в формах Django?
Я пытаюсь отобразить формы для моего проекта, используя CheckboxSelectMultiple, но форма ничего не отображает
Это мой forms.py
class ItemForExhibitionForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.artist_id = kwargs.pop('artist_id')
super(ItemForExhibitionForm, self).__init__(*args, **kwargs)
self.fields['name'].queryset = Item.objects.all()
class Meta:
model = Item
fields = ['name',]
widgets = {'name' : forms.CheckboxSelectMultiple()}
И это мой views.py
else: #GET
form = ExhibitionEntryForm()
artist_id = Artist.objects.get(user_id = request.user.id).id
form2 = ItemForExhibitionForm(artist_id = artist_id)
return render(request, 'exhibition_entry.html', {'form' : form, 'form2' : form2})
как отобразить флажок в форме?
я уверен, что вы забыли о рендеринге шаблонов form.media
https://docs.djangoproject.com/en/4.1/topics/forms/media/
CheckboxSelectMultiple использует js для создания собственного виджета.
в вашем шаблоне перед рендерингом формы добавьте:
<-- in your html template -->
{{ form.media }}
<form >
{{ form.as_p}}
</ form>