一.render内部原理. 在render中往往需要返回三个参数,request,模板和一些键值对. 键值对中存储的是需要对模板渲染的值. 如果手动实现可以如下: from django.template import Template,Context def index(request): temp = Template('<h1>{{ user }}</h1>') con = Context({'}}) res = temp.render(con) print(res) ret…
FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base views) 就是在视图里使用类处理请求. Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承.封装.多态).所以Django在后来加入了Class-Based-View.可以让我们用类写View.这样做的优点主要下面两种: 提高了代码的复用性,可以使用面向对…
FBV与CBV 视图函数并不只是指函数,也可以是类 FBV:基于函数的视图,类似面向函数式编程 CBV:基于类的视图,类似面向对象编程 研究解析render源码: render:返回html页面:并且能够给该页面传值 分析:FBV视图原理 from django.shortcuts import render,HttpResponse # Create your views here. from django.template import Template,Context # FBV解析 de…
目录 视图层 小白必会三板斧 HttpResponse render redirect JsonResponse 前后端分离 FBV CBV 给CBV加装饰器 模板层 模板语法 模板传值 过滤器 语法结构 前后端取消转义 for if 联合使用 自定义过滤器和标签 必须要先有三步准备: 使用自定义过滤器 自定义标签 自定义inclusion_tag 模板的继承 模板的导入 视图层 小白必会三板斧 HttpResponse 返回字符串 render 返回HTML页面 redirect 重定向 视图…
目录 一.视图层 (一)Request和Response对象 (1)Request对象 (2)Response对象 (二)JsonResponse对象 (1)前后端分离 (2)json_dumps_params参数 (3)safe参数 (三)FBV与CBV (四)CBV的源码 (五)装饰器 (1)FBV加装饰器 (2)CBV加装饰器 二.模板层 (一)模板语法 (二)模板传值 (1)传值方式(render) (2)基础数据类型 (3)函数和对象 (4)点(.) (三)过滤器| (1)定义和语法…
视图层 小白必会三板斧(三个返回的都是HttpResponse对象,通过看源码,可以知道是内部实现) 1.HttpResponse # 返回字符串 2.render # 返回一个html页面 还可以给模板传递 from django.template import Template,Context def index(request): res = Template("<h1> {{ user }} </h1>") con = Context({'user':{…
目录 Django基础之视图(views)层.模板层 JsonResponse 向前端返回一个json格式字符串的两种方式 重写Django中的json的某个方法 form表单上传文件 FBV与CBV FBV CBV最精髓的部分 Django settings源码分析及实际应用 模板传值 过滤器(|) 标签 前端if 标签 前端for标签 前端with标签 自定义过滤器.标签 自定义的过滤器 自定义标签 自定义的过滤器和自定义标签 模板的继承 模板的导入 Django请求生命周期 Django基…
目录 视图层 render方法是Template和Contex两个对象的组合使用 JsonResponse对象 CBV及源码分析 CBV 加装饰器的方式 模板层 模板语法传值 模板语法 变量 过滤器(Filters) 标签 自定义过滤器和标签 自定义过滤器 自定义标签 自定义inclusion_tag 模板的继承 模板的导入 路由:视图函数的内存地址 视图层 render方法是Template和Contex两个对象的组合使用 from django .template import Templa…
目录 一.网站首页和404页面的路由配置 1. 网站首页路由 2. 404页面 二.Django视图层 1. 小白必会三板斧 (1)HttpResponse (2)render (3)redirect 2. JsonResponse (1)前后端分离后数据的交互 (2)前后端序列化和反序列化 (3)python的json模块的特点 (4)JsonResponse的序列化特点 3. FBV与CBV (1)FBV(基于函数的视图) (2)CBV (基于类的视图) (3)CBV源码的功能流程 4. 给…
目录 一.视图层 1. 小白必会三板斧 2. JsonResponse 3. FBV与CBV 3.1 FVB 3.2 CBV 4. CBV的源码 5. 给CBV加装饰器 二.模板层 1. 模板语法 2. 模板传值/取值 3. 过滤器 4. 标签 (逻辑相关) 5. 自定义过滤器和标签 5.1 如何自定义过滤器 5.2 自定义过滤器的使用 6. 模板的继承 7. 模板的导入 一.视图层 1. 小白必会三板斧 HttpResponse render redirect 视图函数必须要有一个返回值,并且…