Django的Form主要具有一下几大功能:
- 生成HTML标签
- 验证用户数据(显示错误信息)
- HTML Form提交保留上次提交数据
- 初始化页面显示内容
views.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | from django.shortcuts import render # Create your views here. from django.forms import Form from django.forms import widgets from 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <!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 > |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/197307/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)