当前位置: 首页 > news >正文

深圳的深圳的网站建设公司网站建设 架构

深圳的深圳的网站建设公司,网站建设 架构,东营交通信息网官网,网站开发单位Form Form的验证思路 前端#xff1a;form表单 后台#xff1a;创建form类#xff0c;当请求到来时#xff0c;先匹配#xff0c;匹配出正确和错误信息。 Django的Form验证实例#xff1a; 创建project#xff0c;进行基础配置文件配置 settings.py settings.py之…Form Form的验证思路 前端form表单 后台创建form类当请求到来时先匹配匹配出正确和错误信息。 Django的Form验证实例 创建project进行基础配置文件配置 settings.py settings.py之csrf注销 __init__.py urls.py views.account.py from django.shortcuts import render,HttpResponse from app01.forms import Form1def form1(request):if request.methodPOST: #这里POST一定要大写#通常获取请求信息#request.POST.get(user,None)#request.POST.get(pwd,None)#获取请求内容做验证f Form1(request.POST) #request.POST将接收到的数据通过Form1验证if f.is_valid(): #验证请求的内容和Form1里面的是否验证通过。通过是True否则False。print(f.cleaned_data) #cleaned_data类型是字典里面是提交成功后的信息else: #错误信息包含是否为空或者符合正则表达式的规则print(type(f.errors),f.errors) #errors类型是ErrorDict里面是ulli标签return render(request,account/form1.html,{error:f.errors})return render(request,account/form1.html) html body {#{{ error }}接收后台返回的错误信息封装在ulli标签里面#}{{ error }}form action/form1/ methodPOSTdivinput typetext nameuser //divdivinput typetext namepwd //divdivinput typesubmit value提交 //div/form /body forms.py from django import formsclass Form1(forms.Form):user forms.CharField()pwd forms.CharField() 访问页面 没有输入内容后提交通过模板语言展示了错误信息 Django强大之form验证时不用自定义错误信息就可以返回错误信息到前端以标签方式展现。 .is_valid()返回True或者False .cleaned_data通过验证后的数据 errors .error.get(user,None)error封装所有的错误信息如果没有获取到默认为None。 如 .error.get[pwd]直接获取到ul、li。 如 forms.py from django import formsclass Form1(forms.Form):user forms.CharField()pwd forms.CharField() HTML form action/form1/ methodPOSTdiv classinput-group{#接收后台传过来的form对象自动生成input标签#}{{ form.user }}{#从后台传过来的error是字典直接{{ error.user.0 }}呈现错误信息#}{#如果后台返回了错误信息将错误信息放入span标签在页面显示否则不显示#}{% if error.user.0 %}span{{ error.user.0 }}/span{% endif %}/divdiv classinput-group{{ form.pwd }}{% if error.pwd.0 %}span{{ error.pwd.0 }}/span{% endif %}/divdivinput typesubmit value提交 //div/form account.py def form1(request):if request.method POST:f Form1(request.POST)if f.is_valid():print(f.cleaned_data)else:return render(request,account/form1.html,{error:f.errors,form:f})else:# 如果不是post提交数据就不传参数创建对象并将对象返回给前台直接生成input标签内容为空f Form1()return render(request,account/form1.html,{form:f})return render(request,account/form1.html) 注 页面展示 注这里的input标签是后端返回form对象到前端通过{{ form.xxx }}所创建的 更强大的功能 forms里面的字段 required是否可以为空。requiredTrue 不可以为空requiredFalse 可以为空 max_length4 最多4个值超过不会显示 min_length2 至少两个值少于两个会返回提示信息 error_messages{required: 邮箱不能为空, invalid: 邮箱格式错误} 自定义错误信息invalid 是格式错误 widgetforms.TextInput(attrs{class: c1}) 给自动生成的input标签自定义class属性 widgetforms.Textarea() 生成Textarea标签。widget默认生成input标签 实战 models.py from django.db import models# Create your models here. class Author(models.Model):作者name models.CharField(max_length100)age models.IntegerField()class BookType(models.Model):图书类型caption models.CharField(max_length64)class Book(models.Model):图书name models.CharField(max_length64)pages models.IntegerField()price models.DecimalField(max_digits10,decimal_places2)pubdate models.DateField()authors models.ManyToManyField(Author)book_type models.ForeignKey(BookType) forms.py from django import forms from app01 import modelsclass Form1(forms.Form):user forms.CharField(widgetforms.TextInput(attrs{class: c1}),error_messages{required: 用户名不能为空}, )pwd forms.CharField(max_length4, min_length2,requiredTrue)email forms.EmailField(error_messages{required: 邮箱不能为空, invalid: 邮箱格式错误})memo forms.CharField(widgetforms.Textarea())#直接写数据# user_type_choice (# (0, 普通用户),# (1, 高级用户),# )#通过BookType表查询信息values_list拿到的是元组。id作为value显示caption作为text在页面显示# user_type_choice models.BookType.objects.values_list(id, caption)# book_type forms.CharField(# widgetforms.widgets.Select(choicesuser_type_choice, attrs{class: form-control}))#写上以下代码就不用担心数据库添加了数据而不能及时获取了def __init__(self, *args, **kwargs):#每次创建Form1对象时执行init方法super(Form1, self).__init__(*args, **kwargs)self.fields[book_type] forms.CharField(widgetforms.widgets.Select(choicesmodels.BookType.objects.values_list(id, caption),attrs{class: form-control})) HTML !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/titlestyle.input-group{position: relative;padding: 20px;width: 250px;}.input-group input{width: 200px;display: inline-block;}.inline-group span{display: inline-block;position: absolute;height: 12px;font-size: 8px;border: 1px solid red;background-color: coral;color: white;top: 41px;left: 20px;width: 202px;}/style /head bodyform action/form1/ methodPOSTdiv classinput-group {# 接收后台传过来的form对象自动生成input标签#}{{ form.user }} {# 从后台传过来的error是字典直接{{ error.user.0 }}呈现错误信息#} {# 如果后台返回了错误信息将错误信息放入span标签在页面显示否则不显示#}{% if error.user.0 %}span{{ error.user.0 }}/span{% endif %}/divdiv classinput-group{{ form.pwd }}{% if error.pwd.0 %}span{{ error.pwd.0 }}/span{% endif %}/divdiv classinput-group{{ form.email }}{% if error.email.0 %}span{{ error.email.0 }}/span{% endif %}/divdiv classinput-group{{ form.memo }}{% if error.memo.0 %}span{{ error.memo.0 }}/span{% endif %}/divdiv classinput-group{{ form.book_type }}{% if error.book_type.0 %}span{{ error.book_type.0 }}/span{% endif %}/divdivinput typesubmit value提交 //div/form/body /html account.py from django.shortcuts import render,HttpResponse from app01.forms import Form1 from app01.models import *# def test(req): # BookType.objects.create(caption技术) # BookType.objects.create(caption文学) # BookType.objects.create(caption动漫) # BookType.objects.create(caption男人装) # return HttpResponse(ok)def form1(request):if request.method POST:f Form1(request.POST)if f.is_valid():print(f.cleaned_data)else:return render(request,account/form1.html,{error:f.errors,form:f})else:# 如果不是post提交数据就不传参数创建对象并将对象返回给前台直接生成input标签内容为空f Form1()return render(request,account/form1.html,{form:f})return render(request,account/form1.html) Django里面没有手机验证没有的需要自定义 示例 Form View
http://www.yutouwan.com/news/452593/

相关文章:

  • 企业网站开发哪家好建设单位网站设计
  • 浙江做网站受欢迎的佛山网站制作
  • 在手机上怎么做微电影网站吗素材图片高清
  • 网站的页头页脚怎么做网络游戏工作室加盟
  • 海南建设网站vue做的网站
  • 宝塔服务器搭建网站教程做网页的软件是什么
  • 智慧团建系统登录网站广告字在线制作
  • 网站模板免费下载网站郑州好的seo外包公司
  • 电影网站建设成本高端网站开发教程
  • 大厂县网站建设或SEO优化做旅行网站
  • 南京做网站软件wordpress实现登录注册
  • 公司网站建设注意点网络工程的定义
  • .vip网站 被百度收录做网站必须原创吗
  • 检查网站是否做301网站建设费属于服务类么
  • 中山 网站制作新农村建设管理网站
  • 网站后台维护费用壁纸公司网站源码
  • 第二季企业网站开发成都网站建设培训班
  • 酒店网站制作vs sql server网站开发
  • 网站开发技术规范商务平台搭建
  • 绵阳远腾建设网站好三网网站
  • 做网站需要有平面排版网站
  • 贵阳网站建设兼职网站建设的职称
  • 服装公司电商网站建设规划织梦文章采集到wordpress
  • 江苏seo策略九江网站建设优化
  • 如何上传文件到自己的网站开鲁网站seo转接
  • 小学校园网站怎么建设百度爱采购网站官网
  • wordpress 本地部署手机网站seo教程下载
  • 住建部网站统计城乡建设统计信息系统登录博物馆建设网站的作用
  • 网站修改器建设大厦网站
  • 大庆建设中专网站制作婚恋网站