Django验证返回两个错误,而不是一个

问题描述

问题表明我的模板收到两个错误。这是代码

add_spouse

还有forms.clean_title():

  def add_spouse(spouse)
    return if spouse.nil?
    
    @spouse = spouse
    spouse.spouse = self
  end

当然还有create.html:

def create(request):

full_content = forms.InputForm()
if request.method == "POST":
    full_content = forms.InputForm(request.POST)
    
    if full_content.is_valid(): 
        title = full_content.cleaned_data["title"]
        content = full_content.cleaned_data["content"] 

        if full_content.clean_title():#Works                
            full_content.create(title,content)
            context= {
                'title' : util.get_page_name(title),'entry' : util.get_entry(title),}                
            return render(request,"encyclopedia/entry.html",context)           
    
    #From here on its not valid:
    context = {
        'form':full_content
    }
    return render(request,"encyclopedia/create.html",context)      
return render(request,{
    'form':full_content
})

我为什么会收到两发子弹的任何想法吗?:

解决方法

不需要{{ form.title.errors }}{{form.as_p}}也显示错误。因此,将其删除。

<h3>Create new entry</h3>
<form action="{% url 'create'%}" method="POST">
    
    {% csrf_token %}
    <table>
        {{form.as_p}}
    </table>
    
    <button type="submit" value="save">Save</button>
</form>