Django框架基础之Form组件】的更多相关文章

服务端假设所有用户提交的数据都是不可信任的,所以Django框架内置了form组件来验证用户提交的信息 form组件的2大功能:       1 验证(显示错误信息)       2 保留用户上次输入的信息                  -- 可以生成html标签应用: class A_Form(Form): 字段=fields.字段类型(默认参数: required=True, widget=widgets.插件(attrs={})) 常用字段:Charfield,RegexField,I…
form组件的使用 先导入: from django.forms import Form from django.forms import fields from django.forms import widgets from django.core.validators import RegexValidatorfrom django.core.exceptions import ValidationError 在创建类,继承Form(定义input框的验证规则) class Loginfo…
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通的登录 views…
Django框架之View.py(视图文件) 1. 视图简介 视图层是Django处理请求的核心代码层,我们大多数Python代码都集中在这一层面. 它对外接收用户请求,对内调度模型层和模版层,统合数据库和前端,最后根据业务逻辑,将处理好的数据,与前端结合,返回给用户.视图层是真正的后端,是Python工程师的‘主营业务’. 视图就是每个创建的APP中的的view.py文件夹.我们处理数据的那些业务逻辑,就都存放(编辑)在这里. Django的视图层包含下面一些主要内容: URL路由 视图函数…
一.概述 在HTML页面中,利用form表单向后端提交数据时,需要编写input等输入标签并用form标签包裹起来,与此同时,在很多应用场景之下需要对用户输入的数据校验,例如注册登录页面中,校验用户注册时输入的用户名是否合法或者该用户是否被注册等并弹出相应的提示信息 Django内的form组件就是为了实现这些功能: 1)生成HTML标签 2)对提交的数据进行校验 3)当数据校验等情况下保存上次输入的内容 在生产场景,前后端都应该进行数据校验 二.应用 1.常用字段与插件 在APP中新建的for…
Python web框架 本质 收发socket消息 --> 按照HTTP协议消息格式去解析消息 路径和要执行的函数的对应关系 --> 主要的业务逻辑 字符串替换 --> 模板(特殊符号 --> 数据) 一个完整得请求流程: 0. 启动服务端,等待客户端(用户的浏览器)来连接 1. 在浏览器地址栏输入URL,与服务端建立连接,浏览器发送请求 2. 服务端收到请求消息,解析请求消息,根据路径和函数的对应关系,找到将要执行的函数 3. 执行函数,打开HTML文件,进行字符串替换,得到一…
本文通过注册页面的form组件,查看其中使用的全局钩子和局部钩子. # Create your views here. class RegForm(forms.Form): username = forms.CharField( min_length=3, label="用户名", help_text=‘‘, error_messages={ "required": "不能为空", "invalid": "格式错误&…
Django框架 Django是个怎样的东西呢? Web应用框架----Django  http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理. Web应用框架处理完以后再发送给http服务器,http服务器再返回给用户. 新建项目 •新建项目的命令: django-admin startproject projectname •注意: 由于编辑器版本之间的一些差别, 我们统一使用跟编辑器版本无关的通用方式创建项目. 先在命令行创建项目,然后再设置pycharm代码同步. • 1…
浏览器存储cookie的方式不太安全,那有没有更好些的来存储登入状态的方式呢??? 状态保持----cookie和session: 状态保持: 1.http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 2.客户端与服务器端的一次通信,就是一次会话实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 3.存储方式包括cookie.session,会话一般指session对象 \4. 使用cookie,所有数据存储在客户端,注意不要存储敏感信息 5.使用sesison方式,…
1.自定义主键字段的创建 AutoFiled(pirmary_key=True) # 一般不会自定义,int类型,自增长 一般不自定义主键. 2.order_by asc desc from django.db.models.function import Lower res = Student.objects.order_by(Lower('name').desc()) 表关系的创建 OneToOne student = models.OneToOneField('Student', on_d…
1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被处理,也没有返回.通俗地理解,不恰当的形容,URL路由是你的Web服务对外暴露的API. Django奉行DRY主义,提倡使用简洁.优雅的URL,没有.php或.cgi这种后缀,更不会单独使用0.2097.1-1-1928.00这样无意义的东西,让你随心所欲设计你的URL,不…
1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被处理,也没有返回.通俗地理解,不恰当的形容,URL路由是你的Web服务对外暴露的API. Django奉行DRY主义,提倡使用简洁.优雅的URL,没有.php或.cgi这种后缀,更不会单独使用0.2097.1-1-1928.00这样无意义的东西,让你随心所欲设计你的URL,不…
1. Django简介 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . 2. MVC框架和MTV框架 2.1 MVC框架 MVC框架,全称角Model View Controller,是软件工程的一种架构模式,这个模式把软件系统分为三个部分:…
###############    MVC架构介绍    ################ # MVC架构 # 一个软件框架有很多的模块,每一个模块有不同的功能 # 模块与模块之间相互配合来完成软件开发, # django遵循的是MVC的框架思想 # MVC的产生理念:分工.就是让专门的人做专门的事, # MVC的核心是:解耦,也就是一个模块和其他模块之间只是配合关联性不大,你升级一个模块只要能完成功能,对其他模块影响不大 # M:model,模型,和数据库进行交互 # V:view,视图,产…
forms.py里注册页面的form组件 # Create your views here. class RegForm(forms.Form): username = forms.CharField( min_length=3, label="用户名", help_text='', error_messages={ "required": "不能为空", "invalid": "格式错误", "…
所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 最简单的web框架 import socket sk = socket.socket() sk.bind(()) sk.listen() while True: conn, addr = sk.accept() data = conn.recv() conn.send(b"OK") conn.close() 这个规则就是HTTP协议,以后浏览器发送请求信息…
---恢复内容开始--- 1. 常用语法 需要记住两组特殊符号:{{  }}  和 {%  %}. 在运用到变量的时候使用{{  }},如果是跟逻辑相关的话就使用{%  %}. 在Django模板(template)中,会使用到的{{  }}  和 {%  %}写法,在专业中就称之为Django的 “ 模板语言 ” 2. 变量 在Django模板中,使用的变量的时候,就是用这个格式:{{ 变量名 }}. 在template模板引擎遇到一个变量的时候,它自动根据python后台中的views模块提…
##################   什么是视图?     ####################### 视图: 1,一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 2,响应可以是一张网页的HTML内容(使用render),一个重定向(使用redirect),一个404错误,一个XML文档,或者一张图片. 3,无论视图本身包含什么逻辑,必须要返回响应,否则程序会报错.为了将代码放在某处,大家约定成俗将视图放置在项目(project)…
##################     常用的模板语言       ####################### # django的模板语言, # # 只需要记两种特殊符号: # # {{ }}和 {% %} # # 变量相关的用{{}},逻辑相关的用{%%}. # # ########################## # # 最为常用的模板语言: # # 1,变量 # {{ name }} # # ########################### # # 2,for循环 #…
Django中获取text,password 名字:<input type="text" name="name"><br><br> 密码:<input type="password" name="password"> Form表单提交数据时使用的是post方式,所以在后端接收参数的时候需要先判断请求方式为post时才能请求到数据 name = request.POST.get('…
一个小问题: 什么是根目录:就是没有路径,只有域名..url(r'^$') 补充一张关于wsgiref模块的图片 一.MTV模型 Django的MTV分别代表: Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM) Template(模板):放所有的html文件 模板语法:目的是将白变量(数据库的内容)如何巧妙的嵌入到html页面中 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个URL分发器.它的作用是将一个个URL…
一.创建项目 1.命令:django-admin startproject sitename 2.IDLE环境:本质上都是执行上述命令 常用命令: python manage.py runserver 0.0.0.0 (启动服务) python manage.py startapp appname (创建一个Application) python manage.py syncdb() python manage.py makemigrations() python manage.py migra…
MTV view视图 wsgi函数 def index(request): .... return HttpResponse() 特定的HTTP方法.get,post可以定义单独的方法 继承,多继承,代码分解成可以复用的组件 在urls.py中定义调用类视图 path('index/', views.IndexView.as_view(), name='index'),#类视图的调用,注意加括号 类视图的写法 class IndexView(View):    def get(self,requ…
我们昨天登录admin时创建的用户信息是存放在哪里了呢? auth系统的数据表: 从表的名称我们就能看出, auth_user,auth_group,auth_permission分别存放了用户,用户组,权限的信息表.另外三张表就是多对多的关系表 User:User是auth模块中维护用户信息的关系模式(继承了models.Model), 数据库中该表被命名为auth_user. Group:User对象中有一个名为groups的多对多字段, 多对多关系由auth_user_groups数据表维…
视图函数接受到的request到底是个什么对象呢? HttpRequest对象: 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpRequest对象的API form标签中的GET和POST: 在HTML中,form表单的作用是收集标签中的内容,<form>...</form> 中间可以由访问者添加类似于文本,选择,或者一些控制模块等等.然后这些内容将会被送到服务端…
1.常用的模型字段类型 https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types 2.字段的常用参数 官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-options 3.常用查询 通过模型类上的管理器来构造QuerySet. 模型类上的管理器是啥? ​ 模型类.objects,<django.db.models.manager.M…
1.ORM简介 1.1 ORM的概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 1.2 为什么需要ORM? 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational).…
###############    ORM进阶---contenttype    ################ 设计思路: """ 路飞有两种课,专题课和学位课, 专题课都是简单的内容,基础的课程模块, 学位课都是大课程,全套课程, 怎么设计价格策略的问题? 第一种设计: 价格策略表: id,价格, 期限,专题课id,学位课id 1 11 3个月 1 空 1 11 6个月 1 空 1 11 9个月 1 空 1 11 9个月 2 空 1 11 3个月 空 1 1 11 6…
###############    ORM介绍  ################ """ ORM简介: ORM 全拼Object-Relation Mapping. 中文意为 对象-关系映射. 在MVC/MVT设计模式中的Model模块中都包括ORM 在django里面主要是在models.py文件里面设计模型类, ORM和数据库关系: 类--数据表 对象--数据行 属性--字段,理清了这三点,ORM就没有问题 ORM的优点: 1,不用编写各种数据库的sql语句,让软件开…
Django中间件(Middleware) 是一个轻量级.底层的“插件”系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件. 中间件的结构: 中间件中可以定义5个方法,分…