- 博客(21)
- 收藏
- 关注
原创 docker部署Java项目报错:Error: An unexpected error occurred while trying to open file app.jar
解决docker部署Java项目报错:Error: An unexpected error occurred while trying to open file app.jar
2025-01-13 16:32:29
315
原创 解决Python从Crypto.Cipher导入AES加密算法失败的问题
如果因为安装的是旧版pycrypto,导致使用Python3.10解释器时无法兼容,可以尝试将旧版pycrypto升级为新版pycryptodome,具体操作方式如下:
2024-02-07 15:58:00
4784
3
原创 Authenticator应用程序的OTP验证原理
OTP(One Time Password)就是我们平常说的验证码。除了Authenticator应用程序可以生成之外,其实还有短信验证和电话验证这两种方式。本文仅解释身份验证应用程序的OTP验证原理。
2024-01-11 14:21:12
1233
原创 简述DRF的过滤后端——DjangoFilterBackend
注意:`filterset_fields`和`filterset_class`不能同时用!django_filters库中有个rest_framework子库,可以跟DRF集成。
2024-01-10 15:56:22
605
1
原创 Go 学习打卡 day5 struct 结构体
fmt.Printf("%v", book1) // %v 表示可以打印任何类型。传参方式同任何类型一样,默认不是引用传参,需要用*Book 表示穿指针。打印结果:{Golang zhang3}用 type 关键字。
2023-12-07 00:38:38
71
原创 Go 学习打卡 day4 map
"three" : "java", //最后也要加逗号!,可以修改原 map 中的值,因为 map 的名称实际上是一个指针。(跟 C++数组一样)myMap1[1] = "java" //添加。//key 是 int, value 是 string。//在使用 map 之前,要先分配空间!//不用指定空间大小,会默认给一定的空间。map 类型作为函数的参数传递时,是。
2023-12-05 23:41:31
67
原创 Go 学习打卡 day3-2 动态数组切片slice
slice1 := make([]int, 3,5) //len 为 3,容量 cap 为 5。动态数组就是指向数组本身的指针,所以作为参数传递给某一函数时,可以直接操作原数组。获取数组类型:fmt.Printf("type: %T", myArray)可以指定初始值:var myArray [10]int{1,2,3}如果不给动态数组初始化,则没有空间,无法给它赋值。动态数组:myArray := [ ]int {1,2,3}如果不给动态数组初始化或者分配空间,则== nil。
2023-12-03 23:43:20
83
1
原创 Golang 学习打卡 day3 导包
如果别名位置用 . 代替,那么后面使用包的函数的时候可以省略包名直接调用。(不推荐使用,不同包里面容易有重复名)导入包但是不使用,编译会报错!_ "包的路径" // 用下划线➕空格➕路径名的格式。用 import ()导包的时候就开始执行包中的。,才能对外提供 API 被其他函数调用。正常起别名的位置就是将下划线改为别名。包中定义的要被调用的函数名 应该。
2023-12-03 11:45:42
67
原创 Go 学习打卡 day2 常量&iota
/定义一个常量(只读属性)//定义枚举类型const(//可以添加一个关键字 iota,第一行默认 0,//以后的每行+1b // iota = 1, b 和 c 的公式同 a。
2023-12-02 13:46:57
58
原创 markdown语法,针对同一个.md文件中相同的标题名,实现文内跳转
如果没有重复标题,则直接使用 [显示的内容](#标题名),有两个注意点:①()中的 # 只能有一个,不管针对几级标题实现跳转。②()中的标题名不能带符号,比如针对一级标题 # test.py实现跳转,要写成(#testpy)的形式,直接把符号去掉就行。如果有两个一样的标题,如 ## test 和 ## test,但这两个二级标题隶属于不同的一级标题,此时想实现跳转就要用到 HTML语法。跳转语句为:[test](#test01)
2023-12-01 15:19:29
1452
原创 Go 学习打卡 day1 声明变量&定义函数
var a int = 100 一行语句最后可以不用加分号;func main() { 这个"{"符号必须放在函数名同一行。"fmt" 意思是 format。
2023-12-01 08:50:30
93
1
原创 drf 的 mixin 混合类
这 5 个类和 GenericAPIView 一起继承,可以随机组合,但是必须要有 GenericAPIView。因为这 5 个类中用到了 GenericAPIView 中的方法,如 get_queryset()等。mixins 提供了 5 个类,分别是。要先理解多继承的概念。
2023-11-27 00:37:24
296
原创 drf 中的 GenericAPIView(过渡版本)
进一步将 APIView 中用到的两个变量进行封装,即查询集 queryset 和序列化器类 serializer_class。⚠️ get_serializer()其实是调用了 get_serializer_class()PUT 更新逻辑里面应该传入 pk 参数,并且相应的路由应该设置为有名分组,不能是无名分组。# 下面是数据验证逻辑。
2023-11-26 23:23:52
65
原创 drf 中的 ModelSerializer
但是ModelSerializer就简化了这些操作,仅仅需要告诉它需要操作的数据库表,它内部已经定义好了剩余的操作。ModelSerializer 相较于普通Serializer 进行了进一步的封装,可以直接与数据库表关联,即与 model 关联。因为序列化器并不知道应该从哪个数据库表中去获取数据,因此需要手动定义字段以及create和update的内容。# exclude =["title", "price"]排除不序列化的字段。field =["title", "price"]# 选择序列化字段。
2023-11-26 21:46:10
91
原创 drf 序列化器 serializers.Serializer
Django 里面的序列化其实就是在后端把从数据库中取出来的模型类数据转化成 json 格式传递给前端。相应的反序列化就是把从前端接收到的 json 数据转化成模型类数据再去进行相应的数据库操作。普通的序列化器继承自 serializers.Serializer,需要自己定义想要序列化的字段,根据数据库中表的字段要求设置相应的字段要求,比如:需要传哪些字段就序列化哪些字段,并在序列化器中定义这些字段。这里的语法其实跟在 models.py 中定义数据库表字段的时候很像。
2023-11-26 21:02:44
110
原创 restful 接口规范操作
GET 查看所有资源,return所有资源 POST 添加资源,return 添加的资源 GET 查看单一资源,return 单一资源 PUT 更新单一资源,return 更新后的单一资源 DELETE 删除单一资源,return None
2023-11-26 10:55:43
67
原创 关于更改了配置文件my.ini导致mysql无法启动的问题
仅针对windows系统的一个简单快捷的方法!!(当然还会有更加专业的解决方法,本文仅仅针对小白用户)出现的问题:一般直接双击打开my.ini文件默认会用系统自带的记事本打开,如果打开后修改了其中的内容并通过记事本直接保存的话,下次重启就会导致mysql无法启动。解决方法:拷贝一份别人的能够正常运行的mysql的my.ini文件,将其替换掉你出错的my.ini文件,再通过notepad++打开(应该也有其他的编程软件可以打开,这里我用的是notepad++,记住千万别用记事本打开!!!),打开以
2022-12-03 11:35:33
3414
1
原创 解决“django.db.utils.OperationalError: (1364, “Field ‘name‘ doesn‘t have a default value“)”
问题描述:python3.10 + Django4.0 环境下迁移已有的mysql数据表,执行python manage.py makemigrations的时候无报错,执行python manage.py migrate时报错。如下图。解决方法: 首先通过找到数据库里面的Django自动创建的django_content_type表,将这张表的<name>字段的<不是null>属性去掉勾,允许它是null,就不会报错了。暂时先写到这里,后续出现其它问题再更.
2022-05-12 13:53:57
1554
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人