首页 > 解决方案 > Form.is_valid() 返回 False?

问题描述

为什么我要问问题,尽管已经被问到了?我阅读了 Stack Overflow 上发布的许多问题,但由于我是 Python 语言的新手,因此无法修复代码。

我要做什么:只需尝试从用户那里获取输入并返回HttpResponse(如果成功)。HttpResponse否则,返回错误信息。

问题Forms.pyMyForm.is_valid()中的总是返回!我尝试了许多在以前的问题上发布的解决方案,并且还阅读了三次但无法理解的纪录片,我做错了什么?False

视图.Py

from django.http import HttpResponse
from .forms import PostForm
.
.
. <<code here>>

def register(request):
            if request.method == 'POST':
                Myform =  PostForm(request.POST)
                if Myform.is_valid():                                
                            return HttpResponse("<h1>Is_Valid is TRUE.</h1>")
                else:
                   return HttpResponse("<h1>Is_Valid is False.</h1>")               
            else:
                    return HttpResponse("<h1> GET REQUEST>>>> </h1>")

表单.Py

from django.forms import ModelForm
from .models import Post
class PostForm(ModelForm):
    class Meta:
                 model= Post
                 fields = ['Username']

模型.Py

from django.db import models
class Post(models.Model):
                    Username = models.CharField(max_length = 20)

                    def __str__(self):
                                return self.name

代码

{% block body %}
<div class="container-fluid">
  <form method="POST" class="post-form" action="{% url 'submit' %}">
    {% csrf_token %}
     <div class="form-group"> <!-- Full Name -->
      <label for="Username" class="control-label">Full Name</label>
      <input type="text" class="form-control" id="Username" name="full_name" placeholder="Enter the name of Patient here.">
      </div>      

     <div class="form-group"> <!-- Submit Button -->
          <button type="submit" class="btn btn-primary"> Submit!</button>
      </div>                 
   </form>  
  </div>    
       <hr/>
{% endblock %}

网址.Py

from django.conf.urls import  url
from .  import views
urlpatterns = [      

url(r'^/submit$', views.register , name = 'submit'),                                                      

]

标签: django

解决方案


您输入的名称应该是username:这是您将此值发送到表单的方式。

注意:最好使用已经使用 ModelForm 完成的 django 表单

<input type="text" class="form-control" id="username" name="username" placeholder="Enter the name of Patient here.">

推荐阅读