Django框架详细介绍---视图系统】的更多相关文章

Django视图系统 1.什么是视图 在Django中,一个视图函数/类,称为视图.实质就是一个用户自定义的简单函数,用来接收WEB请求并xing响应请求,响应的内容可以是一个HTML文件.重定向.一个文件.照片等.无论视图本身包含什么逻辑,都要返回响应. 一般的,视图函数一般存放于用户创建的APP目录下的views.py中. 2.视图种类 1)FBV FBV(function base views),全称基于函数的视图,也就是在视图中使用函数处理请求, 函数内部再定义如何处理GET.POST等…
在web开发中通常设计网站的登录认证.注册等功能,Django恰好内置了功能完善的用户认证系统 1.auth模块 from django.contrib import auth 模块源码 import inspect import re import warnings from django.apps import apps as django_apps from django.conf import settings from django.core.exceptions import Imp…
Django模板系统 官方文档: https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#std:templatetag-for 1.常见语法 两种页数符号 {{}} {% %} 1)变量 变量名由字母.数字.下划线组成:模板语言中用点“.”来获取相应的属性 {{变量名}} 模板支持的写法: {# 取列表中的的第x个参数 #} {{ 列表.x }} {# 取字典中key的值 #} {{ 字典.key }} {# 取对象的属性和不…
Django框架之View.py(视图文件) 1. 视图简介 视图层是Django处理请求的核心代码层,我们大多数Python代码都集中在这一层面. 它对外接收用户请求,对内调度模型层和模版层,统合数据库和前端,最后根据业务逻辑,将处理好的数据,与前端结合,返回给用户.视图层是真正的后端,是Python工程师的‘主营业务’. 视图就是每个创建的APP中的的view.py文件夹.我们处理数据的那些业务逻辑,就都存放(编辑)在这里. Django的视图层包含下面一些主要内容: URL路由 视图函数…
一.绪论 在cookie和session的应用中,通过在视图函数内添加装饰器判断用户是否登录,把没有登录的用户请求跳转到登录页面,通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐 在此,通过中间件可通过简单适宜的方式实现认证等操作 二.中间件 1.什么是中间件 中间件是一个用来处理Django的请求和响应的框架级别的钩子,是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的功能…
一.概述 ORM(Object Relational Mapping),全称:对象关系映射,简单的说就是通过创建类.实例化出对象的方法,使得类.对象.对象的属性能够和数据库中的表.记录.字段意义对应. ORM只是一种工具,避免了开发人员在开发过程中不用反复地编写大量复杂的SQL语句,而可以专注于业务逻辑上的开发,提高开发效率,但是ORM的使用在一定程度上牺牲了程序的执行效率 二.ORM中字段类型及其相关 准备好Django工程 1.setting.py文件中修改字典DATABASES # Dat…
1.cookie 在HTTP协议介绍中提到,该协议是无状态的,也就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况,也就是说对于服务器而言,每次接收到的请求都是全新的,状态可以理解为客户端和服务器在会话中产生的数据,无状态就是每次会话的数据都不会被保存,而在实际应用中某些特定的会话数据需保存下来,由此cookie就应运而生 cookie具体指的事一段信息,是服务器发送过来存储在浏览器上的一组键值对,…
Django请求流程图 1.客户端发送请求 2.wsgiref是Django封装的套接字,它将客户端发送过来的请求(请求头.请求体封装成request) 1)解析请求数据 2)封装响应数据 3.中间件,进项身份验证等 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.co…
几个重要的函数 1.HttpRequest.get_host() 根据从HTTP_X_FORWARDED_HOST(如果打开 USE_X_FORWARDED_HOST,默认为False和 HTTP_HOST 头部信息返回请求的原始主机.如果这两个头部没有提供相应的值,则使用SERVER_NAME 和SERVER_PORT,在PEP 3333 中有详细描述 USE_X_FORWARDED_HOST是一个布尔值,用于指定是否优先使用 X-Forwarded-Host 首部,仅在代理设置了该首部的情况…
1.Admin组件使用 Django内集成了web管理工具,Django在启动过程中会执行setting.py文件,初始化Django内置组件.注册APP.添加环境变量等 # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib…
Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化 引言 在数据库存在外键的其情况下,使用select_related()和prefetch_related()很大程度上减少对数据库的请求次数以提高性能 1.实例准备 模型: from django.db import models # Create your models here. # 书 class Book(models.Model): title = models.C…
一.概述 在HTML页面中,利用form表单向后端提交数据时,需要编写input等输入标签并用form标签包裹起来,与此同时,在很多应用场景之下需要对用户输入的数据校验,例如注册登录页面中,校验用户注册时输入的用户名是否合法或者该用户是否被注册等并弹出相应的提示信息 Django内的form组件就是为了实现这些功能: 1)生成HTML标签 2)对提交的数据进行校验 3)当数据校验等情况下保存上次输入的内容 在生产场景,前后端都应该进行数据校验 二.应用 1.常用字段与插件 在APP中新建的for…
一.概述 1.什么是JSON JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台,JSON 解析器和 JSON 库支持许多不同的编程语言 图示:JavaScript与Python间JSON支持的数据类型以及相应转换关系 示例: 真确的Json对象…
Django ORM相关操作 官方文档: https://docs.djangoproject.com/en/2.0/ref/models/querysets/ 1.必须掌握的十三个方法 <1> all() 查询所有结果 <2> filter(**kwargs) 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs) 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一 个或者没有都会抛出错误 <4> exclu…
from django.db import models # Create your models here. # 书 class Book(models.Model): title = models.CharField(max_length=32) publish_date = models.DateField(auto_now_add=True) price = models.DecimalField(max_digits=5, decimal_places=2) memo = models…
Django框架搭建(windows系统) 一.Django简介 开放源代码的Web应用框架,由Python语言编写,一个大而全的框架. 1.web框架介绍 具体介绍Django之前,必须先介绍WEB框架等概念. web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子. 一般web框架的架构是这样的: 其它基于python的web框架,如tornado.flask.webpy都是在这个范围内进行增删裁剪的.例如tornado用的是自己的异步非阻…
Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码的Web应用框架, 由Python写成. 採用了MVC的软件设计模式, 即模型M, 视图V和控制器C. 它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的站点的, 并于2005年7月在BSD许可证下公布. 这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的.…
vue对比其他框架详细介绍 对比其他框架 — Vue.jshttps://cn.vuejs.org/v2/guide/comparison.html React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件. 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库. 由于有着众多的相似处,我们会用更多的时间在这一块进行比较.这里我们不只保证技术内容的准确性,同时…
Django框架 之 view视图 浏览目录 概述 简单的视图 HttpRequest对象 CBV和FBV 给视图加装饰器 Request对象 Response对象 JsonResponse对象 Django shortcut functions 一.概述 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代…
|--Django的View(视图) |-- CBV和FBV: |-- 给视图增加装饰器: |-- request对象: |-- response对象: |-- Django的路由系统(url): |-- 简介 |-- urlconf配置 |-- 正则表达式详解 |-- 分组命名匹配 |-- 传递额外的参数给视图函数 |-- URL反向解析 以及 include Django的View(视图): 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响…
一.mvc和mtv 1.mvc介绍 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点. 想要更详细的了解MVC模式? >> 点我 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Template(模…
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,不…
12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Template(模板)和View(视图),也就是MTV框架. M…
1.ORM简介 1.1 ORM的概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 1.2 为什么需要ORM? 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational).…
Amaple · 体验优先的JavaScript单页框架 Amaple (点此查看Github仓库)是专为单页web应用而设计的基于页面模块化的JavaScript框架,它可使开发者快速开发单页web应用. Amaple 其实由 "A maple"(一片枫叶) 组合而成,它就像Web前端大森林中的一片枝叶,在享受这片森林呵护的同时也为森林增添一丝色彩,因此, Amaple 选择了拥抱这片大森林,它的插件功能除了可使用自身规范的插件外,还支持所有 AMD(点击了解详情)和 IIFE(点击…
视图views django中的视图就是用来定义函数来处理一些逻辑的核心地方. django中通过urls来建立路径跟views中的视图函数的映射关系. urls中的映射关系 ''' urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 可选的要传递给视图函数的默认参数(字典形式) 一个可选的name参数 ''' 注意: 一旦匹配成功则不再继续 若要从URL…
我们昨天登录admin时创建的用户信息是存放在哪里了呢? auth系统的数据表: 从表的名称我们就能看出, auth_user,auth_group,auth_permission分别存放了用户,用户组,权限的信息表.另外三张表就是多对多的关系表 User:User是auth模块中维护用户信息的关系模式(继承了models.Model), 数据库中该表被命名为auth_user. Group:User对象中有一个名为groups的多对多字段, 多对多关系由auth_user_groups数据表维…
1. HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以.视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API. 1.1 属性 path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分. method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'.'POST'. 在浏览器中给出地址发出请求采…
##################    django的认证系统     ####################### 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能, Django它内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据. ##################    django的认证系统----auth常用的方法      ###############…