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

网站服务器查询所有外包网站

网站服务器查询,所有外包网站,软件设计模式,做网站开发的经营范围django表单#xff1a; 渲染表单模板。表单验证数据是否合法。 在App中新建的form.py表单文件#xff1a; 1 from django import forms2 from django.core import validators3 from .models import User4 5 # 定义form表单#xff0c;label:定义名字#xff1b;error_messa… django表单 渲染表单模板。表单验证数据是否合法。   在App中新建的form.py表单文件 1 from django import forms2 from django.core import validators3 from .models import User4 5 # 定义form表单label:定义名字error_messages:定义错误时内容的提示例16 class MesssageBoardForm(forms.Form):7 title forms.CharField(max_length10,min_length2,label标题,error_messages{min_length:最小不能少于两个字符,max_length:不能超过十个字符})8 content forms.CharField(widgetforms.Textarea,label内容,error_messages{required:必须传content字段})9 email forms.EmailField(label邮箱,error_messages{required:必须传email字段}) 10 reply forms.BooleanField(requiredFalse,label是否回复) 11 12 # 可简化出错信息显示的内容通用。 13 class BaseForm(forms.Form): 14 def get_errors(self): 15 errors self.errors.get_json_data() 16 new_errors {} 17 for key,message_dicts in errors.items(): 18 messages [] 19 for message_dict in message_dicts: 20 message message_dict[message] 21 messages.append(message) 22 new_errors[key] messages 23 return new_errors 24 25 # 进行注册信息的简单验证表单例2 26 class RegisterForm(BaseForm): 27 username forms.CharField(max_length20,min_length2) 28 telephone forms.CharField(validators[validators.RegexValidator(r1[345678]\d{9},message请输入正确的手机号码)]) 29 pwd1 forms.CharField(max_length16,min_length6,error_messages{max_length:不能超过十六个字符,min_length:不能小于六个字符}) 30 pwd2 forms.CharField(max_length16,min_length6,error_messages{max_length:不能超过十六个字符,min_length:不能小于六个字符}) 31 32 def clean_telephone(self): 33 telephone self.cleaned_data.get(telephone) 34 exists User.objects.filter(telephonetelephone).exists() 35 if exists: 36 raise forms.ValidationError(message%s已经被注册%telephone) 37 return telephone 38 39 def clean(self): 40 cleaned_data super().clean() 41 pwd1 cleaned_data.get(pwd1) 42 pwd2 cleaned_data.get(pwd2) 43 if pwd1 ! pwd2: 44 raise forms.ValidationError(message两次密码不一致)   视图文件 1 from django.shortcuts import render2 from django.views.generic import View3 from .forms import MesssageBoardForm,RegisterForm4 from django.http import HttpResponse5 from .models import User6 7 # 简单的表格格式例18 class IndexView(View):9 # 将form传给html模板来生成一个表单的html代码 10 # 使用form生成的代码填写格式与验证不对时会先提示不运行 11 def get(self,request): 12 form MesssageBoardForm() 13 return render(request,index.html,context{form:form}) 14 15 # post提交时使用form.is_valid判断提交的内容与form中定义的是否一致 16 # cleaned_data获取相应数据 17 def post(self,request): 18 form MesssageBoardForm(request.POST) 19 if form.is_valid(): 20 title form.cleaned_data.get(title) 21 content form.cleaned_data.get(content) 22 email form.cleaned_data.get(email) 23 reply form.cleaned_data.get(reply) 24 print(title) 25 print(content) 26 print(email) 27 print(reply) 28 return HttpResponse(success) 29 else: 30 # 打印出错的详细内容 31 print(form.errors.get_json_data()) 32 return HttpResponse(Fail) 33 34 # 注册信息的验证例2 35 class RegisterView(View): 36 # 返回注册页面模板 37 # 不使用form的表单生成的代码验证不对时仍会运行没有预先提示 38 def get(self,request): 39 return render(request,register.html) 40 41 # 提交注册的数据 42 def post(self,request): 43 form RegisterForm(request.POST) 44 # 验证通过 45 if form.is_valid(): 46 username form.cleaned_data.get(username) 47 telephone form.cleaned_data.get(telephone) 48 User.objects.create(usernameusername,telephonetelephone) 49 return HttpResponse(注册成功) 50 else: 51 print(form.errors.get_json_data()) 52 # 调用了BaseFrom模板后简化的出错信息 53 print(form.get_errors()) 54 return HttpResponse(注册失败)   例1模板 1 {# 简单的index.html模板 #}2 form action methodpost3 table4 {{ form.as_table }}5 tr6 td/td7 tdinput typesubmit value提交/td8 /tr9 /table 10 /form   例2模板 1 {# 注册验证的模板 register.html #}2 form action methodpost3 table4 tr5 td用户/td6 tdinput typetext nameusername/td7 /tr8 tr9 td电话/td 10 tdinput typetext nametelephone/td 11 /tr 12 tr 13 td密码/td 14 tdinput typepassword namepwd1/td 15 /tr 16 tr 17 td重复密码/td 18 tdinput typepassword namepwd2/td 19 /tr 20 tr 21 td/td 22 tdinput typesubmit value提交/td 23 /tr 24 /table 25 /form   例2 models.py 1 from django.db import models 2 3 class User(models.Model): 4 username models.CharField(max_length20) 5 telephone models.CharField(max_length11)   url映射 1 urlpatterns [ 2 path(, views.IndexView.as_view()), 3 path(register/,views.RegisterView.as_view())     ModelForm   在表单中使用 ModelForm 定义一个 Meta 类如在该类中指定 modelUser 以及 fields__all__ 等于将 User 模型中所有的字段都复制过来进行验证。则不需要在表单中重复模型中已有的字段减少代码。 models.py文件 1 from django.db import models 2 from django.core import validators 3 4 class User(models.Model): 5 username models.CharField(max_length100,validators[validators.MinLengthValidator(2)]) 6 password models.CharField(max_length16,validators[validators.MinLengthValidator(6)]) 7 telephone models.CharField(max_length11,validators[validators.RegexValidator(r1[345678]\d{9})])     forms.py文件 1 from django import forms2 from .models import User3 4 # 注册信息的验证5 class BaseForm(forms.ModelForm):6 # 验证手机号是否存在7 def clean_telephone(self):8 telephone self.cleaned_data.get(telephone)9 exists User.objects.filter(telephonetelephone).exists() 10 if exists: 11 raise forms.ValidationError(%s手机号已存在 % telephone) 12 return telephone 13 14 # 验证用户名 15 def clean_username(self): 16 username self.cleaned_data.get(username) 17 exists User.objects.filter(usernameusername).exists() 18 if exists: 19 raise forms.ValidationError(%s:用户名已被注册 % username) 20 return username 21 22 # 验证密码 23 def clean(self): 24 cleaned_data super().clean() 25 pwd1 cleaned_data.get(pwd1) 26 pwd2 cleaned_data.get(pwd2) 27 if pwd1 ! pwd2: 28 raise forms.ValidationError(两次密码不一样) 29 else: 30 return cleaned_data 31 32 # 定义一个Meta类 33 class RegisterForm(BaseForm): 34 pwd1 forms.CharField(max_length16,min_length6,error_messages{min_length:不能小于6字符,max_length:不能大于16字符}) 35 pwd2 forms.CharField(max_length16,min_length6,error_messages{min_length:不能小于6字符,max_length:不能大于16字符}) 36 37 class Meta: 38 model User 39 # fields [username,telephone] # 只提取某些字段 40 # fields __all__ # 复制所有的字段 41 exclude [password] # 排除某个字段 42 # 使用“errors_messages”定义错误信息 43 error_messages { 44 username:{ 45 max_length:不能超过100字符, 46 min_length:不能小于2字符 47 }, 48 telephone:{ 49 invalid:请输入正确的手机号码 50 } 51 }     views.py文件 1 from django.shortcuts import render2 from django.http import HttpResponse3 from .forms import RegisterForm4 from django.views.decorators.http import require_POST5 6 # 验证完成可直接调用save方法“commitFalse”只生成模型而不插入到数据库中7 require_POST8 def register(request):9 form RegisterForm(request.POST) 10 if form.is_valid(): 11 user form.save(commitFalse) 12 user.password form.cleaned_data.get(pwd1) 13 user.save() 14 return HttpResponse(success) 15 else: 16 print(form.errors.get_json_data()) 17 return HttpResponse(Fail)   转载于:https://www.cnblogs.com/liqiongming/p/10665659.html
http://www.hkea.cn/news/14494612/

相关文章:

  • 东莞怎么制作网站wordpress封面外链
  • 如何做视频类网站旅游景点网站建设设计说明
  • 建网站需要什么编程技术网络营销和直播营销的区别
  • 网站建设公司现状html免费的模板网站有哪些
  • 站长工具综合查询系统企业网站通常包含的栏目
  • 亚网互联网站设计网站字头优化
  • php网站开发实例教程第九章网站网站开发公司
  • 建设一个什么网站赚钱物流网站制作怎么做
  • 建网站需要什么软件聚家网装修平台
  • 凤翔做网站国发网站建设
  • 脚本语言在网站开发中甜品售卖网站网页设计
  • 网站做预览文档天津铁路建设投资控股(集团)网站
  • 企业网站备案需要多久网站icp做年检
  • 万网网站建设万网网站建设app软件制作
  • 网站开发综合实训怎么做宣传
  • 网站特色怎么写网站使用费用
  • 在自己的电脑建设空间网站求南浦做电商网站
  • 发任务做任务得网站大一做家教的网站
  • 网站开发公司飞沐中国人做暧暧视频网站
  • 网站的建设与管理系统徐汇手机网站建设
  • 服务器网站建设流程图静海做网站公司
  • 聊城做网站费用价位广告公司网站源码下载
  • j网站开发的相关知识做信息发布网站要多少钱
  • 微信微网站是什么格式的电子商城怎么注册
  • 网站备案现场自学学网页设计
  • 企业网站建站意义民治做网站
  • 赣州市城乡建设局官方网站网站备案主体是
  • 陕西网站开发哪家好谷歌浏览器怎么下载
  • 内部网站开发黄村做网站哪家好
  • 寻亲网站开发设计文档做网站的岗位叫什么问题