首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在定义保存方法Django时,接收错误消息“名称'SaveInput‘未定义”

在定义保存方法Django时,接收错误消息“名称'SaveInput‘未定义”
EN

Stack Overflow用户
提问于 2021-12-13 21:18:47
回答 1查看 31关注 0票数 0

我试图在Django中为我的.save()创建一个保存方法(.save()),但是我一直收到一个错误消息--没有定义名称'SaveInput‘。

代码语言:javascript
复制
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

这是我试图定义方法并导致错误消息的部分。

代码语言:javascript
复制
            saveInput = SaveInput(title=data['title'], content=data['content'])
        saveInput.save()

请告诉我我做错了什么,因为我之前看到的关于相同保存方法的示例不需要定义此方法。

此外,如果以前添加了一个没有模型.filter的相同标题的页面,那么如何确保不能创建任何页面。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-12-13 21:24:21

您需要在您的SaveInput中导入或定义views.py

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70341042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档