Получение сообщения об ошибке "имя 'SaveInput' не определено" при определении метода сохранения Django

Я пытаюсь создать метод сохранения (.save()) для моей forms.Form в Django views.py, но получаю сообщение об ошибке - имя 'SaveInput' не определено.

from django.shortcuts import render
from django.shortcuts import redirect
from django.urls import reverse
from django.http import HttpResponseRedirect
from django.http import HttpResponse
from django import forms
import markdown2

from . import util

class AddPageForm(forms.Form):
    title = forms.CharField(max_length=20)
    content = forms.CharField(widget=forms.Textarea(
        attrs={
            "class": "form-control",
            "placeholder": "Tell us more!"
        })
    )


def add_page(request):
    submitted = False
    if request.method == "POST":
        form = AddPageForm(request.POST)
        entries = util.list_entries()
        
        if form.is_valid():
            title = form.cleaned_data['title']
            content = form.cleaned_data['content']
            saveInput = SaveInput(title=data['title'], content=data['content'])
            saveInput.save()
            
            for entry in entries:
                if title.upper() == entry.upper():
                    context = {
                        "title": title,
                        "content": content
                    }
                    return render(request, "encyclopedia/errorpage.html", context)
            else:
                return HttpResponseRedirect(reverse("/encyclopedia:index/?submitted=True"))
    else:
        return render (request, "encyclopedia/addpage.html", {
            "form": AddPageForm()
        })

    Traceback Switch to copy-and-paste view
C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\site-packages\django\core\handlers\exception.py, line 47, in inner
                response = get_response(request) …
▶ Local vars
C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\site-packages\django\core\handlers\base.py, line 181, in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
C:\Users\USER\Downloads\wiki\wiki\encyclopedia\views.py, line 84, in add_page
            saveInput = SaveInput(title=data['title'], content=data['content']) …
▶ Local vars

Пожалуйста, подскажите, что я делаю не так, поскольку примеры, которые я видел ранее относительно того же метода сохранения, не требовали определения этого.

Также, как сделать так, чтобы страница не могла быть создана, если ранее была добавлена страница с таким же названием без модели .filter.

Спасибо.

Вам нужно либо импортировать, либо определить SaveInput в вашем views.py

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