forms组件

先自己实现注册功能,并且对用户输入的信息加限制条件
如果用户输入的信息不符合条件,前端展示报错信息
 from django.shortcuts import render,HttpResponse

 from django.core.exceptions import ValidationError
# Create your views here. def register(request):
errors = {'name':'', 'pwd':''} #定义一个字典,将字典传给前端,前端是可以取值的
if request.method == 'POST':
name = request.POST.get('name')
pwd = request.POST.get('pwd')
if 'sb' in name:
errors['name'] ='名字不能包含sb'
if pwd == '':
errors['pwd'] = '你这密码太简单了'
return render(request,'reg.html',locals())

Views.py

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>注册页面</h3> <form action="" method="post">
<p>username:<input type="text" name="name">
<span>{{ errors.name }}</span> <!--span是行内标签,大小由文本决定的,如果取到的值为空前端展示到前端页面看不出-->
</p> <p>password:<input type="text" name="pwd">
<span>{{ errors.pwd }}</span></p>
<input type="submit">
</form> </body>
</html>

reg.html

注意:reg.html中的

<span>{{ errors.name }}</span>

思路:访问路由,是get请求然后error字典中的value值为空,所以传入前端的error信息为空,
然后span标签是根据文本内容的大小来撑大,所以没有内容就不变,不会有什么影响,
第二次form表单提交的时候是有name和password的数据,
然后进行校验,如果不满足条件,就给error字典赋值传给前端,所以前端会显示错误信息
总结:
注册示例:
1.前端渲染标签获取用户输入 >>> 前端渲染标签
2.后端获取用户输入,进行数据校验 >>> 数据校验
3.校验过后产生的提示信息返回给前端 >>> 展示校验信息 提一小嘴:

django之forms组件,cookie&session的更多相关文章

  1. day09 Django: 组件cookie session

    day09 Django: 组件cookie session   一.cookie和session都是会话跟踪技术     1.什么是会话             可以理解为客户端和服务端之间的一次会 ...

  2. django之forms组件

    在django中forms组件有其强大的功能,里面集合和众多的函数和方法:下面来看一下它的源码 """ Form classes """ f ...

  3. django设置并获取cookie/session,文件上传,ajax接收文件,post/get请求及跨域请求等的方法

    django设置并获取cookie/session,文件上传,ajax接收文件等的方法: views.py文件: from django.shortcuts import render,HttpRes ...

  4. python 全栈开发,Day76(Django组件-cookie,session)

    昨日内容回顾 1 json 轻量级的数据交换格式 在python 序列化方法:json.dumps() 反序列化方法:json.loads() 在JS中: 序列化方法:JSON.stringfy() ...

  5. Django组件-cookie,session

    昨日内容回顾: json 轻量级的数据交换格式 在python 序列化方法:json.dumps() 反序列化方法:json.loads() 在JS中: 序列化方法:JSON.stringfy() 反 ...

  6. form组件+cookie+session总结

    1.forms 组件 -数据校验功能 1.定义 -新建一个py文件 -导入from django import forms -写一个类继承 forms.Form -把你需要校验的(字段的条件)属性写到 ...

  7. Django之forms组件使用

    注册功能 1.渲染前端标签获取用户输入 >>> 渲染标签 2.获取用户输入传递到后端校验 >>> 校验数据 3.校验未通过展示错误信息 >>> 展 ...

  8. web框架开发-Django的Forms组件

    校验字段功能 针对一个实例:用户注册. 模型:models.py class UserInfo(models.Model): name=models.CharField(max_length=32) ...

  9. Django之forms组件进阶

    Django Form表单组件   Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要 ...

随机推荐

  1. python猜数字游戏快速求解解决方案

    #coding=utf-8 def init_set(): r10=range(10) return [(i, j, k, l) for i in r10 for j in r10 for k in ...

  2. JAVA:初识Java · Xer97

    1. 什么是Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征. Java语言作为静 ...

  3. 腾讯入股Snap,能救“阅后即焚”的命吗?

    ​ ​   互联网社交的强大包容性,让各种社交形式都能有着较多的受众群体.普适性极广的QQ.微信."脸谱":专攻陌生人社交的陌陌:让人们发布意见的微博--当然也少不了"阅 ...

  4. webpack的基本配置(初识)

    webpack能根据模块的依赖关系递归地构建一个依赖关系图,当中包含了应用程序所需要的所有模块,最后打包成一个或多个bundle.它有四个核心概念entry.output .loader.plugin ...

  5. CSS——NO.3(CSS选择器)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  6. C++银行储蓄程序代码

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  7. MVC01

    1.Controller 1) 添加: 在Controller目录右键进行添加,出现很多模式供选择,选择空的Controller,命名后新建.新建后Views 目录将同步生成相应名称的视图文件目录 均 ...

  8. 2020年,大厂常问iOS面试题汇总!

    Runloop & KVO runloop app如何接收到触摸事件的 为什么只有主线程的runloop是开启的 为什么只在主线程刷新UI PerformSelector和runloop的关系 ...

  9. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(6.1)- FlexSPI NOR连接方式大全(RT600)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT600的FlexSPI NOR启动的连接方式. 痞子衡前段时间一鼓作气写完了三篇关于i.MXRT1xxx系列Flex ...

  10. 第三章、vue基础精讲

    3.1VUE实例 组件:全局组件,局部组件,vue的每个组件也是一个实例,有自己的实例属性和实例方法. 在console中调试vue,vm为vue的实例,凡是以$开头的都是vue的实例属性或者vue的 ...