这一部分涉及到三个地方:前端表单设计,表单验证的Form类编写,解析函数Views编写:
前端表单
新建一个form_test.html
文件,前端html:
<form action="" method="post">
<input type="text" name="name" placeholder="Name">
<input type="text" name="email" placeholder="Email">
<input type="submit" value="提交">
{% csrf_token %}
</form>
表单验证的Form类编写
如果没有form.py
文件,可以新建一个,然后编写这个表单的验证:
from django import forms
class FormTestForm(forms.Form):
name = forms.CharField(max_length=255, required=True)
email = forms.EmailField(required=True)
一般常用的有:
CharField:用来接收字符串、文本等任何格式的输入。
参数:
max_length:这个字段值的最大长度。
min_length:这个字段值的最小长度。
required:这个字段是否是必须的。默认是必须的。
error_messages:在某个条件验证失败的时候,给出错误信息。
其他用于验证的类还包括:
EmailField:接收邮件格式,会自动验证邮件是否合法。
FloatField:接收浮点类型,并且如果验证通过后,会将这个字段的值转换为浮点类型。
IntegerField:接收整形,并且验证通过后,会将这个字段的值转换为整形。
URLField:接收url格式的字符串。
后端view函数
from .form import FormTestForm
from django.views.generic import View
class FormTestView(View):
def get(self, request):
return render(request, 'form_test.html')
def post(self, request):
test_form = FormTestForm(request.POST)
if test_form.is_valid():
# 下面就是验证通过啦
print(request.POST['name'])
print(request.POST['email'])