- 博客(29)
- 收藏
- 关注
原创 makedown语法简单使用
使用###+空格+名称,生成三级标题,需要生成几级标题,前面的#号就几个,最多到六级标题。使用##+空格+名称,生成二级标题。使用#+空格+名称,生成一级标题。使用**+文字+**使用~~+文字+~~
2024-10-30 10:18:40 293
原创 Django结合DRF框架进行路由器对象化及类视图设计原则
2、路由器对象默认只为通用action(create、list、retrieve、update、destroy)生成路由条目,自定义的action不会生成路由条目。# DefaultRouter与SimpleRouter功能类似,仅有的区别为:DefaultRouter会自动生成一个根路由(显示获取数据的入口)# c.如果DRF中的类视图有提供相应的逻辑,那么就直接使用父类提供的。# 1、可以使用路由器对象,为视图集类自动生成路由条目。# 路由器对象.urls属性可获取生成的路由条目。
2023-02-24 11:59:10 204
原创 Django中DRF框架进行视图类的通用视图、Mixin拓展类、ViewSet视图集
e.继承ViewSetMixin,所有具备持给as_view传递字典参数(请求方法名与具体调用的action方法名的一一对应关系)# b.在定义url路由条目时,支持给as_view传递字典参数(请求方法名与具体调用的action方法名的一一对应关系)# b.类中的方法和属性是按照__mro__所指定的继承顺序进行搜索。# a.python中支持多重继承,一个类可以同时继承多个父类。进行通用视图的使用,其中每个继承类中包含多个action方法。进行继承视图集,里面包含了所以的action方法。
2023-02-23 11:54:02 239
原创 Django中DRF框架视图类继承GenericAPIView类进行搜索、排序、分页操作
b.如果lookup_url_kwarg为None,那么lookup_url_kwarg与lookup_field值相同(‘pk’)# 5、一般不会直接调用serializer_class类属性,原因:为了让用户重写get_serializer_class()# 6、如果未重写get_serializer_class()方法,那么必须得指定serializer_class类属性。# c.lookup_url_kwarg指定url路由条目中外键的路径参数名称,一般无需指定。a.具备View的所有特性。
2023-02-17 10:31:47 424
原创 Django中类视图进行继承APIView及结合Response的使用
e.前端传递application/json、application/x-www-form-urlencoded、multipart/form-data参数。# 在序列化器对象调用is_valid(raise_exception=True),校验失败时,会抛出异常,DRF框架会自动处理异常。# d.content_type指定响应头中的Content-Type,一般无需指定,会根据渲染器来自动设置。# a.data参数为序列化之后的数据(一般为字典或嵌套字典的列表)# c.status指定响应状态码。
2023-02-15 17:17:20 226
原创 Django中DRF框架的模型序列化器类的全面用法
5、会给id主键、指定了auto_now_add或者auto_now参数的DateTimeField字段,添加read_only=True,仅仅只进行序列化输出。6、有设置unique=True的模型字段,会自动在validators列表中添加唯一约束校验
2023-02-15 15:37:59 257
原创 Django中DRF框架序列化器数据操作及模型序列化器
3、序列化器类中的update方法,instance参数为待更新的模型对象,validated_data参数为校验通过之后的数据(一般字典类型)1、如果在创建序列化器对象时,仅传递data参数,使用序列化器对象调用save方法时,会自动调用序列化 器类中的create方法。# 1、如果在创建序列化器对象时,同时instance和data参数,使用序列化器对象调用save方法时,会自动调用序列化器类中的update方法。
2023-02-15 09:45:51 563
原创 Django中DRF框架序列化器类中关联字段及反序列化校验
interfaces_set = serializers.PrimaryKeyRelatedField(label='项目所属接口id', help_text='项目所属接口id', many=True, queryset=Interfaces.objects.all(), write_only=True)# 2、单字段的校验方法名称,必须把validate_作为前缀,加上待校验的字段名,如:validate_待校验的字段名。
2023-02-14 15:15:00 627
原创 Django框架汇总drf框架进行序列号和反序列化
如果某个参数指定了write_only=True,那么该字段仅仅只输入(反序列化输入,做数据校验),不会输出(序列化器输出),如果某个参数指定了read_only=True,那么该字段仅仅只输出(序列化器输出),不会输入(反序列化输入,做数据校验),14.在序列化器类中定义的字段,可以使用default参数来指定默认值,如果指定了default参数,那么前端用户可以不用传递,8.如果在序列化器字段中,设置required=False,那么前端用户可以不传递该字段(校验时会忽略改该字段,所以不会报错)
2023-02-13 10:58:49 168
原创 Django中ORM框架实现数据库的查询、关联查询、创建、更新、删除、排序操作
interface_obj = Interfaces.objects.create(name='在线图书项目-登录接口', tester='珍惜',# qs = Projects.objects.filter(Q(name__contains='2') | Q(leader='多喝热水'))# qs = Projects.objects.filter(name__contains='2').update(leader='珍惜')
2023-02-10 15:05:21 475
原创 Django中ORM框架中数据库使用
6)查询迁移脚本生成的SQL语句:python manage.py sqlmigrate 子应用名 迁移脚本名(无需加.py)10)一旦在模型类中的某个字段上指定了primary_key=True,那么ORM框架就不会自动创建名称为id的主键。c.数据库的创建、数据表的生成、数据备份以及数据库的迁移非常麻烦。1)一般在子应用models.py中定义模型类(相当于数据库中的一张表)3)在模型类中定义类属性(必须得为Field子类)相当于数据表中字段。c.字段:模型类中的类属性(Field子类)
2023-02-09 16:06:51 223 1
原创 协程的使用
协程的概念:是一种微线程,由用户进行切换代码块的运行,不需要CPU进行调度使用(上下文调度,也是就从用户态切换到内核态操作),仅在用户态操作。Python进行协程操作有两种方式 ,一种使用gevent 一种 async和await。
2022-11-02 16:49:16 81
原创 线程锁的操作
进行多个线程操作同一数据时,有可能导致数据进行重复操作,所以多线程操作同一数据时,建议使用线程锁,这样每次操作数据时只能是一个线程。进行查看Lock是有enter和exit属性也就是上下文的,所以可以直接进行with方法。
2022-11-02 15:55:48 133
原创 多进程和多线程操作方式
进程进行start后,主进程很快结束,但是子进程还是在后台运行直到结束,如需要等子进程结束后再结束主进程需要join。多进程需要用到Queue管道方式进行处理,这样就是用的共同内存数据。
2022-11-02 14:57:02 126
原创 单例模式和多例模式
单例模式: 只有一个实例 实现方法: 方法一:import 方法二:单例模式 方法三:装饰器。多例模式也是进行控制new下内存值id在一定的范围数量内。python中实现单例模式需要用到类中方法new。
2022-11-01 14:33:56 213
原创 可迭代对象、迭代器和生成器
如果一个函数中有yield关键字,调用函数的时候不会执行函数的内容,会返回一个对象(这个对象类型是生成器类)# 1.迭代器类型必须实现__iter__和 __next__(Python2中是next)# 3. __next__必须返回下一个值,如果没有下一个则抛出StopIterator异常。# 生成器的意义: 为了快速方便地创建一个迭代器,所以生成器一定是一个迭代器。# 方法二: 看对象有没有 __iter__属性和__next__属性。方法二:看属性中有没有__iter__方法 dir()
2022-10-31 16:21:43 40
原创 装饰器的使用
带参数的函数装饰器: 带参数与不带参数的区别就是装饰方法上面再集成一个def进行传入参数。用类装饰函数:主要使用到类中的__call__方法,进行函数的修饰都是放在该方法下。装饰器原理:就是不改变原函数或者类里面的代码,进行修饰新的逻辑或数据。用函数装饰类:为类加装饰器的效果可能是修改类属性,修改类方法等。
2022-10-31 11:33:25 88
原创 python中魔术方法__new__/__call__等的使用
python中__new__和__init__方法,真正进行创建对象(内存)的是new方法,init方法进行初始化对象的值__call__方法和callable方法:对象有call方法才可以进行带()进行调用,callable是判断对象是否有call方法
2022-10-27 11:12:39 497
原创 python中递归、回调、闭包总结及演练
递归:就是函数内部进行再次调用函数本身进行循环,循环次数有限制996次回调;把函数作为其他函数的参数进行调用
2022-10-27 10:37:37 477
原创 docker常用命令
docker exec -it 容器名/容器ID /bin/bash # 进入到容器内部,可以输入liunx命令。docker kill 容器ID/容器名 # 杀死容器。docker stop 容器ID/容器名 # 停止运行容器。
2022-10-09 14:18:11 291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人