Django的Form主要具有一下几大功能:
- 生成HTML标签
- 验证用户数据(显示错误信息)
- HTML Form提交保留上次提交数据
- 初始化页面显示内容
views.py
from django.shortcuts import render# Create your views here.from django.forms import Formfrom django.forms import widgetsfrom django.forms import fields# 对form表单进行数据验证class LoginForm(Form): user = fields.CharField(required=True) # 不能为空 pwd = fields.CharField(min_length=18)def login(request): if request.method == "get": return render(request, 'login.html') else: obj = LoginForm(request.POST)#request.POST拿到的是POST的数据 """ is_valid 1. 获取当前类中所有的字段 -LoginForm实例化时候,放入 self.fields = { 'user':正则表达式, 'pwd':正则表达式 } 2.循环self.fields flag = True for k,v in self.fields.items(): k是:user,pwd v是:正则表达式 input_value = requests.POST.get(k) flag = False return flag """ if obj.is_valid(): print(obj.cleaned_data)#字典数据 else: # print(obj.errors)#返回的是个err对象 print(obj.errors)#返回的是个err对象 return render(request,'login.html')login.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><h1>用户登录</h1><form action="/login/" method="POST"> {% csrf_token %} 用户名 <input type="text" name="user"> 密码 <input type="password" name="pwd"> <input type="submit" value="提交"></form></body></html>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。