序列化类高级用法之source使用source,字段参数,可以修改序列化字段名字原本序列化器中字段名,必须和表中的字段名一样,不一样会报错我们可以通过source字段来改变序列化器中的字段名,使得前端在展示的时候也修改一下字段名!!source也可以做跨表查询,通过外键字段,表名点外键出去的字段名字classBookSerializer(serializers.Serializer): publish=serializers.CharField(source='publish.email')#等价于book.publish.email查到当前书对象的文键出版社对象然后拿到该出版社对象的邮箱so
序列化类高级用法之source使用source,字段参数,可以修改序列化字段名字原本序列化器中字段名,必须和表中的字段名一样,不一样会报错我们可以通过source字段来改变序列化器中的字段名,使得前端在展示的时候也修改一下字段名!!source也可以做跨表查询,通过外键字段,表名点外键出去的字段名字classBookSerializer(serializers.Serializer): publish=serializers.CharField(source='publish.email')#等价于book.publish.email查到当前书对象的文键出版社对象然后拿到该出版社对象的邮箱so
1.什么是计算机计算机俗称‘电脑’,通电的人脑。其实,计算机所有的组成部分,都是模仿人的某一个功能或者器官。2.为什么要有计算机为了执行人类通过编程语言编写的文件程序,从而把人类解放出来。3.计算机的组成部分计算机有五大组成部分:控制器、运算器、存储器、输入设备、输出设备。3.1控制器它是计算机的指挥系统,负责控制计算机其他的组件如何进行工作。它就类似于人的大脑3.2运算器运算器是计算机的运算系统。大脑除了指挥,无时无刻还在运算。即实现算术运算和逻辑运算。它也类似于人的大脑1.算术运算:1+1=22.逻辑运算:今天出太阳,不下雨?3.3存储器/IO设备计算机的记忆功能,负责数据的存取。分类:1
1.什么是计算机计算机俗称‘电脑’,通电的人脑。其实,计算机所有的组成部分,都是模仿人的某一个功能或者器官。2.为什么要有计算机为了执行人类通过编程语言编写的文件程序,从而把人类解放出来。3.计算机的组成部分计算机有五大组成部分:控制器、运算器、存储器、输入设备、输出设备。3.1控制器它是计算机的指挥系统,负责控制计算机其他的组件如何进行工作。它就类似于人的大脑3.2运算器运算器是计算机的运算系统。大脑除了指挥,无时无刻还在运算。即实现算术运算和逻辑运算。它也类似于人的大脑1.算术运算:1+1=22.逻辑运算:今天出太阳,不下雨?3.3存储器/IO设备计算机的记忆功能,负责数据的存取。分类:1
存储器有五种类型,分别是寄存器、高速缓存、内存、磁盘、磁带。他们访问读取的时间和容量如下图:1.寄存器L1缓存用的是与cpu一样的材质制成,读取和cpu一样快,容量2.高速缓存L2缓存存放的是cpu经常使用的数据3.内存内存又称RAM,ROM又称只读内存,ROM内存放着计算机厂商写死在计算机上的一段核心程序--BIOSCMOS:存取速度慢,断电数据丢失,耗电量极低(这个就是电脑关机,时间还是准确的原因)4.硬盘硬盘分为机械硬盘(又称磁盘,是基于磁工作的)和固态硬盘4.1机械硬盘:磁盘一整个大磁盘其实是有无数个小磁道(小圆)组成,一圈磁道就是一串二进制,1bit代表一个二进制,8bit比特位=1
存储器有五种类型,分别是寄存器、高速缓存、内存、磁盘、磁带。他们访问读取的时间和容量如下图:1.寄存器L1缓存用的是与cpu一样的材质制成,读取和cpu一样快,容量2.高速缓存L2缓存存放的是cpu经常使用的数据3.内存内存又称RAM,ROM又称只读内存,ROM内存放着计算机厂商写死在计算机上的一段核心程序--BIOSCMOS:存取速度慢,断电数据丢失,耗电量极低(这个就是电脑关机,时间还是准确的原因)4.硬盘硬盘分为机械硬盘(又称磁盘,是基于磁工作的)和固态硬盘4.1机械硬盘:磁盘一整个大磁盘其实是有无数个小磁道(小圆)组成,一圈磁道就是一串二进制,1bit代表一个二进制,8bit比特位=1
认证源码分析位置:APIVIew----》dispatch方法---》self.initial(request,*args,**kwargs)---->有认证,权限,频率三个版块分析:只读认证源码:self.perform_authentication(request)---》self.perform_authentication(request)就一句话:request.user,需要去drf的Request对象中找user属性(方法)---》Request类中的user方法,刚开始来,没有_user,走self._authenticate()核心:Request类的_authenticat
认证源码分析位置:APIVIew----》dispatch方法---》self.initial(request,*args,**kwargs)---->有认证,权限,频率三个版块分析:只读认证源码:self.perform_authentication(request)---》self.perform_authentication(request)就一句话:request.user,需要去drf的Request对象中找user属性(方法)---》Request类中的user方法,刚开始来,没有_user,走self._authenticate()核心:Request类的_authenticat
go打印helloworld打开自己存放go代码的项目文件夹main,在main下面新建一个test.go文件1.在文件中输入以下代码:packagemain//声明该文件所在的包,每个go文件必须有其归属的包import"fmt"//引入程序中所需要的包,为了使用该包中的函数比如Printlnfuncmain(){//程序的主函数,程序的入口 fmt.Println('helloworld')//在控制台打印输出}2.对源文件test.go进行编译:gobuild命令3.执行编译后的文件4.通过gorun命令直接编译源文件+执行上述两种方式的区别:gobuild编译时,会将程序运行所依赖的库
go打印helloworld打开自己存放go代码的项目文件夹main,在main下面新建一个test.go文件1.在文件中输入以下代码:packagemain//声明该文件所在的包,每个go文件必须有其归属的包import"fmt"//引入程序中所需要的包,为了使用该包中的函数比如Printlnfuncmain(){//程序的主函数,程序的入口 fmt.Println('helloworld')//在控制台打印输出}2.对源文件test.go进行编译:gobuild命令3.执行编译后的文件4.通过gorun命令直接编译源文件+执行上述两种方式的区别:gobuild编译时,会将程序运行所依赖的库