分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

Django-website 程序案例系列-16 ?modle.form(表单验证)

发布时间:2023-09-06 01:32责任编辑:董明明关键词:暂无标签

案例程序:

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body><form action="/fm/" method="POST"> ?#3个输入框分别是user/pwd/email ???{% csrf_token %} ???<input type="text" name="user" /> ???<input type="text" name="pwd" /> ???<input type="text" name="email" /> ???<input type="submit" value="提交" /></form></body></html>

views函数:

from django import forms ??# 首先需导入forms包class FM(forms.Form): ????#建立一个验证类 ???user = forms.CharField(error_messages={‘required‘: ‘用户名不能为空‘}) ????#自定制的中文错误返回 ???pwd = forms.CharField( ???????max_length=‘12‘, ???????min_length=‘8‘, ???????error_messages={‘required‘: ‘密码不能为空‘, ‘max_length‘: ‘密码最大长度不能大于12‘, ‘min_length‘: ‘密码最小长度不能小于8‘} ???) ???email = forms.EmailField(error_messages={‘required‘: ‘邮箱不能为空‘, ‘invalid‘: ‘邮箱格式错误‘})def fm(request): ???if request.method == "GET": ???????return render(request, ‘fm.html‘) ???elif request.method == "POST": ???????# 获取用户的所有数据 ???????# 每条数据请求的验证 ???????# 成功:获取所有的正确信息 ???????# 失败:显示错误信息 ???????obj = FM(request.POST) #生成一个表单验证类 ???????r1 = obj.is_valid() ???#验证输出的结果 成功为true ?错误为false ???????print(r1) ???????if r1: ???????????print(obj.cleaned_data) ?#如果成功返回验证好的数据并打印 ???????else: ???????????print(obj.errors.as_json) ?#如果失败返回错误信息打印 ???????return redirect(‘/fm/‘)

显示的信息:

达到了自定制返回的错误信息为中文的目的

 向前端送出验证错误信息:

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body><form action="/fm/" method="POST"> ???<p><input type="text" name="user" /> ?{{ obj.errors.user.0 }} </p> ?#前端显示验证错误信息 ???<p><input type="text" name="pwd" /> {{ obj.errors.pwd.0 }} </p> ???<p><input type="text" name="email" /> {{ obj.errors.email.0 }} </p> ???<input type="submit" value="提交" /></form></body></html>
def fm(request): ???if request.method == "GET": ???????obj = FM() ???????return render(request, ‘fm.html‘, {‘obj‘: obj}) # 传送一个验证数据对象obj ???elif request.method == "POST": ???????# 获取用户的所有数据 ???????# 每条数据请求的验证 ???????# 成功:获取所有的正确信息 ???????# 失败:显示错误信息 ???????obj = FM(request.POST) ???????r1 = obj.is_valid() ???????print(r1) ???????if r1: ???????????print(obj.cleaned_data) ???????else: ???????????print(obj.errors) ???????????return render(request, ‘fm.html‘, {‘obj‘: obj}) ???return render(request, ‘fm.html‘)

Django-website 程序案例系列-16 ?modle.form(表单验证)

原文地址:https://www.cnblogs.com/kuku0223/p/8119362.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved