Как сделать формсэт с набором чекбоксов как на картинке?

Чтобы создать формсэт с набором чекбоксов, похожим на тот, что изображен на картинке, вам понадобится использовать библиотеку Django и ее встроенные формы.

1. Установите Django, если еще не сделали этого:

pip install django

2. Создайте новый проект Django с помощью команды:

django-admin startproject myproject

3. Создайте новое приложение Django:

cd myproject
python manage.py startapp myapp

4. Откройте файл models.py в вашем приложении myapp и определите модель данных, которую вы хотите использовать для хранения информации о выбранных значениях чекбоксов. Например, вы можете создать модель CheckboxValue, имеющую поле со значениями чекбоксов:

from django.db import models

class CheckboxValue(models.Model):
    value = models.CharField(max_length=100)

5. Откройте файл forms.py в вашем приложении myapp и создайте форму, которая будет использоваться для отображения и обработки набора чекбоксов:

from django import forms
from .models import CheckboxValue

class CheckboxForm(forms.Form):
    checkboxes = forms.ModelMultipleChoiceField(
        queryset=CheckboxValue.objects.all(),
        widget=forms.CheckboxSelectMultiple
    )

6. Откройте файл views.py в приложении myapp и создайте представление, которое будет отображать форму с чекбоксами:

from django.shortcuts import render
from .forms import CheckboxForm

def checkbox_view(request):
    if request.method == 'POST':
        form = CheckboxForm(request.POST)
        if form.is_valid():
            # Обработка выбранных значений
            selected_values = form.cleaned_data['checkboxes']
            # ...
    else:
        form = CheckboxForm()
    return render(request, 'checkbox_template.html', {'form': form})

7. Создайте шаблон checkbox_template.html внутри директории myapp/templates и определите форму и ее поле в шаблоне:

<form method="post">
  {% csrf_token %}
  {{ form }}
  <input type="submit" value="Submit">
</form>

8. Откройте файл urls.py в вашем основном проекте myproject и добавьте URL-маршрут для вашего представления:

from django.urls import path
from myapp.views import checkbox_view

urlpatterns = [
    path('checkbox/', checkbox_view, name='checkbox'),
    # ...
]

9. Запустите встроенный сервер разработки Django:

python manage.py runserver

Теперь, если вы перейдете по адресу http://localhost:8000/checkbox, вы увидите форму с набором чекбоксов, подобную той, что на картинке из вашего вопроса. После отправки формы вы можете обработать выбранные значения в представлении checkbox_view.