Django is_valid()始终返回false错误
我是Django的初学者。当我在html页面中提交时,views.py中的is_valid函数始终返回false。html是我的模板。很明显,我填写的内容是正确的,但它仍然返回false。 欢迎任何帮助 这是我的models.py文件Django is_valid()始终返回false错误,django,django-models,django-forms,django-templates,django-views,Django,Django Models,Django Forms,Django Templates,Django Views,我是Django的初学者。当我在html页面中提交时,views.py中的is_valid函数始终返回false。html是我的模板。很明显,我填写的内容是正确的,但它仍然返回false。 欢迎任何帮助 这是我的models.py文件 from django.db import models # Create your models here. class User(models.Model): first_name = models.CharField(max_length=
from django.db import models
# Create your models here.
class User(models.Model):
first_name = models.CharField(max_length=264, )
last_name = models.CharField(max_length=264, )
email = models.EmailField(max_length=255,)
def __str__(self):
return self.first_name + self.last_name
这是我的forms.py文件
from django import forms
from first_app.models import User
from django.forms import ModelForm
class User_form(ModelForm):
class Meta:
model = User
fields = ['first_name','last_name','email']
这是my views.py文件
from django.shortcuts import render
from django.http import HttpResponse
from . import forms
from first_app.models import User
# Create your views here.
def index(request):
return render(request,'index.html')
def user_form_view(request):
form = forms.User_form()
if request.method == 'POST':
if form.is_valid():
form = forms.User_form(request.post)
form.save()
return index(request)
else:
print(form)
return user_show(request)
return render(request,'first_app/users.html',{'form':form})
这是我的users.html
<!DOCTYPE html>
{% load static %}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Users</title>
</head>
<body>
<h1>Hello! please type in your information</h1>
<div class="container">
<form class="" method="POST">
{{form.as_p}}
{% csrf_token %}
<input type="submit" class="btn btn-primary" value="submit">
</form>
</div>
</body>
</html>
{%load static%}
使用者
你好请输入您的信息
{{form.as_p}}
{%csrf_令牌%}
为了使表单有效,它需要“有界”(您可以使用进行检查)。Bounded表示您向它传递了数据,例如使用request.POST
(或request.GET
,或其他类似字典的容器):
def用户表单视图(请求):
如果request.method==“POST”:
表单=表单.用户\表单(请求.发布)
如果form.is_有效():
form.save()
返回索引(请求)
其他:
打印(表格)
返回用户显示(请求)
其他:
form=forms.User\u form()
返回呈现(请求,'first_app/users.html',{'form':form})
注意:类的名称通常用PerlCase编写,而不是snake\u大小写,因此您可能应该将用户表单
重命名为用户表单
一个没有数据的表单(所以没有
请求.POST
)总是无效的,因为它没有“绑定”。啊,我终于得到了它!谢谢
def user_form_view(request):
if request.method == 'POST':
form = forms.User_form(request.POST)
if form.is_valid():
form.save()
return index(request)
else:
print(form)
return user_show(request)
else:
form = forms.User_form()
return render(request,'first_app/users.html',{'form':form})