Чтобы позволить нескольким пользователям заполнять одну форму в Django, вам понадобится сделать следующие шаги:
1. Создайте модель, которая будет представлять вашу форму. Например, вы можете создать модель FormData
, которая будет содержать поля, соответствующие данным формы.
from django.db import models class FormData(models.Model): name = models.CharField(max_length=50) email = models.EmailField() age = models.IntegerField() # Добавьте другие поля, если необходимо
2. Создайте форму на основе созданной модели:
from django import forms class FormForm(forms.ModelForm): class Meta: model = FormData fields = '__all__'
3. Создайте представление (view), которое будет обрабатывать запросы на заполнение формы:
from django.shortcuts import render from .forms import FormForm def form_view(request): if request.method == 'POST': # Создаем экземпляр формы на основе отправленных данных form = FormForm(request.POST) if form.is_valid(): # Сохраняем данные формы в базу данных form.save() else: form = FormForm() return render(request, 'form.html', {'form': form})
4. Создайте шаблон (template) form.html
, в котором будет отображаться форма:
<form method="POST" action="{% url 'form_view' %}"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Submit"> </form>
5. Укажите URL-маршрут для вашего представления в файле urls.py
:
from django.urls import path from .views import form_view urlpatterns = [ path('form/', form_view, name='form_view'), # Добавьте другие URL-маршруты, если необходимо ]
Теперь, при обращении к URL-адресу /form/
, вы увидите форму, которую могут заполнять несколько пользователей. Каждый раз, когда форма отправляется, данные сохраняются в базу данных, и вы можете получить к ним доступ для дальнейшей обработки или отображения.