Django crispy-form, данные из формы не сохраняются в базе данных

Я только начинаю свое приключение с Django. Я написал небольшое приложение, в котором, конечно же, есть форма, собирающая данные от пользователя. Эта форма в стандартной версии Django выглядит не очень красиво. Я нашел в интернете информацию о crispy-form и добавил ее в свой проект. Мне удалось создать форму, которая мне нравится, но есть проблема. Я не могу сохранить данные, полученные из формы, в базу данных. Раньше, когда у меня была Django-форма, в файле views.py функция, обрабатывающая эту форму, сохраняла полученные данные в базу данных. Теперь, когда это crispy-форма, я не хочу сохранять. Мои знания слишком малы, чтобы суметь это сделать, поэтому я обращаюсь к вам за помощью. Не могли бы вы взглянуть на приведенные ниже коды и сказать, что я делаю не так?

forms.py

views.py

from django.shortcuts import render, redirect, get_object_or_404
from .forms import FormDane, FormNowaFirma
from .models import Firma, DaneKsiegowe
from django.template import loader
from django.template.context_processors import csrf
from crispy_forms.utils import render_crispy_form

def nowa_firma(request):
    form_dane = FormNowaFirma(request.POST or None)
    if form_dane.is_valid():
        form_dane.save()
        return redirect(index)

    return render(request, 'form_nowa_firma.html', {'form_nowa_firma':form_dane})

Отчет об ошибке

Ошибка атрибута в /nowa_firma/ У объекта 'FormNowaFirma' нет атрибута 'save' Метод запроса: POST URL запроса: http://127.0.0.1:8000/nowa_firma/. Версия Django: 5.0.4 Тип исключения: AttributeError Значение исключения:
Объект 'FormNowaFirma' не имеет атрибута 'save' Местоположение исключения: C:\Users\Marcin\django\biuro\biuroTax\pulpitBiuro\views.py, строка 41, in nowa_firma Поднято во время выполнения: pulpitBiuro.views.nowa_firma Исполняемый файл Python: C:\Users\Marcin\django\biuro\venv\Scripts\python.exe Версия Python: 3.12.2 Python Path:
['C:\Users\Marcin\django\biuro\biuroTax', 'C:\Users\Marcin\AppData\Local\Programs\Python\Python312\python312.zip', 'C:\Users\Marcin\AppData\Local\Programs\Python\Python312\DLLs', 'C:\Users\Marcin\AppData\Local\Programs\Python\Python312\Lib', 'C:\Users\Marcin\AppData\Local\Programs\Python\Python312', 'C:\Users\Marcin\django\biuro\venv', 'C:\Users\Marcin\django\biuro\venv\Lib\site-packages']. Время сервера: Sun, 28 Apr 2024 05:36:45 +0000

Мои знания слишком малы, чтобы справиться с этой задачей, поэтому я обращаюсь к вам за помощью. Не могли бы вы взглянуть на приведенные ниже коды и сказать, что я делаю не так?

У forms.Form по умолчанию нет функции save(), только у forms.ModelForm есть. Что вполне логично - вы можете сохранить ModelForm в таблице model db, - но куда вы собираетесь сохранить данные forms.Form?

Если раньше это работало, я подозреваю, что это было связано с тем, что форма, которую вы использовали, была основана на модели, и переключение обратно должно помочь вам двигаться в правильном направлении

Вернуться на верх