Чтобы создать формсэт с набором чекбоксов, похожим на тот, что изображен на картинке, вам понадобится использовать библиотеку Django и ее встроенные формы.
- Установите Django, если еще не сделали этого:
pip install django
- Создайте новый проект Django с помощью команды:
django-admin startproject myproject
- Создайте новое приложение Django:
cd myproject python manage.py startapp myapp
- Откройте файл
models.py
в вашем приложенииmyapp
и определите модель данных, которую вы хотите использовать для хранения информации о выбранных значениях чекбоксов. Например, вы можете создать модельCheckboxValue
, имеющую поле со значениями чекбоксов:
from django.db import models class CheckboxValue(models.Model): value = models.CharField(max_length=100)
- Откройте файл
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 )
- Откройте файл
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})
- Создайте шаблон
checkbox_template.html
внутри директорииmyapp/templates
и определите форму и ее поле в шаблоне:
<form method="post"> {% csrf_token %} {{ form }} <input type="submit" value="Submit"> </form>
- Откройте файл
urls.py
в вашем основном проектеmyproject
и добавьте URL-маршрут для вашего представления:
from django.urls import path from myapp.views import checkbox_view urlpatterns = [ path('checkbox/', checkbox_view, name='checkbox'), # ... ]
- Запустите встроенный сервер разработки Django:
python manage.py runserver
Теперь, если вы перейдете по адресу http://localhost:8000/checkbox
, вы увидите форму с набором чекбоксов, подобную той, что на картинке из вашего вопроса. После отправки формы вы можете обработать выбранные значения в представлении checkbox_view
.