- 博客(34)
- 收藏
- 关注

原创 对authenticate方法的理解以及重写
这个东西是用来判断用户是否存在所用的函数,一般来说,我们是这样导入的:from django.contrib.auth import login, authenticate, logout但是,当我们看源码的时候,我们就能发现,他在这个里面又调用了authenticate,这个authenticate从哪来?位置就是下边图片所示。代码如下:def authenticate(self, request, username=None, password=None, **kwargs):
2020-12-21 20:48:39
2901
2

原创 django运行报错:SystemCheckError: System check identified some issues的一些个人理解
今天,在自己练习写django框架时,自定义了User类。可以看到,这样的代码是一点错都没有的,但是却出了这样一个错误。这让我很无奈,不明白为什么会出现这样的错误,但是我大概知道是因为继承了AbstractUser的原因,于是接下来我看了源码。我查到了系统的User,是这样的。这么短的的代码,就有一点值得我在意,那个全部大写的东西,我们在setting中知道,全大写的东西一般都是系统定义好的,我决定看看这个东西代表什么。...
2020-12-10 10:44:03
6222
2
原创 python 选择排序 快速排序
选择排序a = [1, 9, 8, 4, 3, 5, 4, 8]leng = len(a)for i in range(leng - 1): litt_index = i for j in range(i + 1, leng): if a[j] < a[litt_index]: litt_index = j sub = a[i] a[i] = a[litt_index] a[litt_index] = sub
2021-05-24 21:04:15
202
原创 JWT的基本组成和验签方式的个人理解
JWT分为三部分:头部:里面包含签名通过哪个加密方式进行加密。载荷:有着JWT的相关配置信息,我们的数据也是存储在载荷中的,还可以在载荷中设置JWT的有效时间,通过在载荷字典中设置exp部分来设置jwt的有效时间。签名:先将heade头部部分通过Base64编码,再把payload载荷这部分进行Base64编码,然后将这两部分加上secret_key合成一个新的字符串然后通过头部中定义的签名加密方式进行加密,生成一个签名。然后构建一个jwt字符串:header Base64后的字符串.载荷 Base
2021-04-26 20:13:51
1075
1
转载 Nginx里的root/index/alias/proxy_pass的意思
1.【alias】别名配置,用于访问文件系统,在匹配到location配置的URL路径后,指向【alias】配置的路径。如:(注意alias配置最后一定要有/,而root可以没有)location /test/ { alias /home/sftp/img/; }即:请求/test/1.jpg(省略了协议与域名),将会返回文件/home/sftp/img/1.jpg。2.【root】根路径配置,用于访问文件系统,在匹配到location配置的URL路径后,指向【root】配置的路径,并把l
2021-04-13 19:49:34
1597
原创 vs code connect econnrefused 127.0.0.1
今天刚下载好vscode这个软件,然后想在ubuntu中自己连接自己玩一下,但是发现出现了vs code connect econnrefused 127.0.0.1 这个bug,我弄了近一个小时,我才发现,我是个伞兵,很简单。一、在ubuntu下载个东西。apt install openssh-server二、设置一下。cd /etc/sshvim sshd_config打开sshd_config,PermitRootLogin修改为yes,原来是注释着的,原来为修改为:这样
2021-04-09 16:59:01
10751
7
原创 django事务个人理解
一、首先,导入事务from django.db import transaction二、开启事务:两种方式:一、装饰器@transaction.atomic()二、在方法内通过with开启事务。with transaction.atomic():三、 开启事务后,要在事务内部第一行写上保存点。save_point = transaction.savepoint()四、如果出错,进行事务回滚,将代码回滚到保存点时候的代码状态,继续执行回滚操作后边代码。transaction.savepo
2021-04-06 19:51:03
183
原创 对GenericAPIview即其方法的一些理解
如果要用这个模型类,你要知道一个概念。查询结果集是会被缓存的,相当于,当我们执行模型类.objects.all()后,数据会放到缓存中。当我们的类视图继承了GenericAPIview,必须在定义的方法前,指定查询结果集和所要使用的序列化器。from book_drf.serializer import BookSerializerfrom rest_framework.response import Responsefrom books import models# Create your v
2021-03-18 17:21:25
646
原创 mysql8.0以后修改root密码
我真的,被折磨到爆炸,网上的文章大多都是8.0版本以前的,我弄了好久,记录一下,8.0以后该怎么办。首先,当你安装完后,你会发现,并没有让你输入root密码啥的操作,那么我们该怎么进入mysql呢。输入:cat /etc/mysql/debian.cnf你会得到这样一串:这个里面有mysql user 和name,用:mysql -udebian-sys-maint -pvvhSoLCul2dG7PkT进入数据库中,接下来,更换数据库:网上很多的都是8.0以前的更换密码的方式,是这
2021-03-15 17:21:19
1343
1
原创 对前后端分离与不分离的一些小看法
在学习django框架时,学习到了前后端分离与不分离,有点想法,记录一下。首先,我们要知道。这两个的区别在哪。我们在以前,做django框架项目时,如果浏览器向你发送了一个请求,请求获得一个页面,一般来说,都是将请求传递给django服务器,再在服务器里面进行模板渲染,渲染完后,将渲染好的模板也就是前端页面给到浏览器,让浏览器进行渲染,但是,这样导致的后果,就是后端开发人员不仅要干后端的活,前端的也要干,因为模板语言啥的,这样的话,代码量太重了。那么,这就诞生了一种新的开发模式,前后端分离,我们将ht
2021-03-15 10:01:39
460
1
原创 对LoginRequiredMixin进行重写
首先我们要知道继承自LoginRequiredMixin的视图类会怎样走,未登录,会执行 handle_no_permission函数,登陆了,就直接继续执行函数下边的代码,如:class UserCenterInfoView(LoginRequiredMixin, View): def get(self,request): return render(request, "user_center_info.html")未登录,执行handle_no_perm
2021-03-02 20:34:11
448
5
原创 OAuth 2.0 的一个简单解释
这个写的真的太好了。http://www.ruanyifeng.com/blog/2019/04/oauth_design.html
2021-01-18 10:17:08
83
原创 django中的LoginRequiredMixin
首先,我们要明确我们为什么要用这个东西。我们一般判断用户是否登录时,使用的是request.user.is_authenticate(),但是这个太单一了。只会给你一个true或者false。比如:class UserCenterInfoView(View): def get(self,request): if request.user.is_authenticated(): return render(request,"user_center_info
2020-12-23 16:44:07
1242
原创 Django框架中的 request.user的通俗解释
我今天看这个东西,感觉很难理解,凭什么在我调用request.user他就知道是哪个对象呢。刚开始我怀疑是login的问题。login(),该函数接受一个 HttpRequest 对象和一个 User 对象作为参数并使用Django的会话( session )框架把用户的ID保存在该会话中。当我把这个东西注释后,发现自己居然还能找到对象,这就有点恐怖了,难道不是因为他????好吧,我是傻子,浏览器里面cookie中存储的sessionid并没有删掉,这不删除login有没有都没有影响啊。于是再把他删除
2020-12-22 20:16:12
6512
5
原创 python单例模式中_new_方法解析
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是在配
2020-12-15 10:12:14
264
原创 Ubuntu安装Jupyter notebook
使用pip3命令可以快速成功安装,这个过程相当顺利流畅。pip3 install jupyter -i http://pypi.douban.com/simple --trusted-host pypi.douban.com1. 生成配置文件jupyter notebook --generate-config2. 创建密码终端输入ipthon在终端使用python中的passwd()创建密码,终端输入ipython打开ipython并输入:In [1]: from notebook.auth
2020-11-19 09:29:57
420
原创 Django中 F对象的使用
在学习这个对象的时候我查阅了大量的博文,但是没有一个对F对象原理进行明确阐述的,全部都在说这个对象怎么使用的问题。既然没有原理,那么我就用自己强大的发散思维和脑洞来理解他。先看一个sql语句:select * from bookstore where price = market_price这句sql语句我想大家都能看懂,很简单的查找bookstore中price和market_price相等的记录。但是如果放到django中我们该如何表达呢,大部分人的第一印象就是:bookstore.obj
2020-10-26 16:11:27
910
3
原创 一个简单的python登录和注册代码,运用mysql,连接数据库操作。
mysql建表语句是:create table user(name varchar(24) primary key , passwd varchar(24));代码主题为:import pymysqlclass login(object): def __init__(self): self.db = pymysql.connect(host = "localhost",port = 3306, user = "root
2020-09-10 16:39:41
1075
原创 一个小的客户端和服务器端的交互,运用TCP技术,python
服务器端是类似于百度云的东西,他上边会有文件,客户端连接服务器端后,可以选择在里面下载,或是上传文件。服务器端:from socket import *from threading import Threadimport timeimport osHOST = "192.168.1.201"PORT = 8888ADDR = (HOST,PORT)FTP = "/root/FTP/"fileaddr = Noneclass FtpServer: def __init__(se
2020-09-06 09:08:29
150
原创 c++课程设计实现学生信息管理系统
以前发过一个c的学生信息管理吸引,有兴趣的可以了解下。c课程设计代码,点我查看接下来是c++课程设计代码,也是实现学生信息管理系统的。#include<iostream>#include<string>#include<fstream>#include<stdlib.h>#include<windows.h>int n=0...
2019-11-29 15:25:42
2039
2
原创 c语言学生信息管理系统(巨简单)
偶然翻看自己的优盘,看到了自己一年前写的一个大一时候的大作业,学生信息管理系统,决定分享出来,为大家做一个参考。接下来就是代码了。以下代码只包含了增删查改排序统计的功能。希望对大家有所帮助。#include<stdio.h>#include<stdlib.h>#include<windows.h>struct date { int y; int m;...
2019-11-29 15:19:57
33559
9
原创 PreparedStatement的jdbc相关操作
上一篇博客说了这个更方便,接下来给大家展示下怎么方便了。package JDBC.Bigdata.text2;import JDBC.Bigdata.Student.Student;import JDBC.Bigdata.util.dbutil;import java.sql.Connection;import java.sql.PreparedStatement;public ...
2019-09-01 11:26:07
213
原创 运用Statement技术实现jdbc的增删查该操作(很基础的一种)
首先让大家看一下我定义的Student这个类里面有啥方便大家理解后续代码package JDBC.Bigdata.Student;import java.io.File;public class Student { public int getSno() { return Sno; } public void setSno(int sno) ...
2019-09-01 11:14:23
113
原创 最基础的jdbc相关操作讲解(IDEA编译器,MySQL数据库)
相信学软件的,学习JAVA的同志们都会经历学习jdbc连接数据库这一部分,可能你还不是很了解,所以接下来我会讲解刚开始的最基础的jdbc的链接步骤。jdbc连接步骤加载 jdbc 驱动程序拼接 jdbc 需要连接的 url创建数据库的连接创建一个Statement执行SQL语句处理执行完SQL之后的结果关闭使用的JDBC对象首先是配置驱动,即将你的驱动弄到你的项目中去,不弄进...
2019-07-15 10:59:52
269
原创 c++写数据结构哈夫曼树编码
数据结构的课程设计是十分重要的一点,但是在我打课程设计时,并没有在网上找到适合自己的,简单易懂的代码,所以在我的潜心研究下,经过我的努力,我打出了自己的代码,简单易懂,清晰可辨,贼6,有点小得意,不懂的多思考思考偶。不废话,接下来是我的代码:#include<iostream>#include<string>#include<stdio.h>#incl...
2019-06-21 08:45:12
804
原创 数据结构用c++打出约瑟夫环
约瑟夫环问题,是数据结构中循环链表的经典问题,学习完循环链表可以试着解决此问题,将自己对于循环链表的理解加深。约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,...
2019-06-10 18:40:07
1734
原创 运用c++语言打出数据结构中的静态链表代码,仅供参考
这个也算是较为简单的一种数据结构思想了,是古人们没有指针时候用的,虽然很古老,但是很实用,不如哈夫曼树的时候用这个就明显比指针好用的多,不废话,直接上代码。里面有很多注释的内容是我用来测试代码的,不用管,但也可以将其放出来更好的理解代码。#includeusing namespace std;#define MAXSIZE 1000#define OK 1#define Status ...
2019-06-05 16:29:22
178
原创 线性表中顺序表相关完整代码
马上濒临考试了,开始复习数据结构相关代码,看书时,感觉代码较为不完整,也无法测试代码,故写次代码,复习知识点,希望这些对你也有好处。#includeusing namespace std;#define MAXSIZE 100#define ElemType int#define Status int#define ERROR -1#define OK 1typedef struc...
2019-05-30 20:46:08
566
原创 数据结构,运用尾指针进行尾插输入数据
该代码运用了尾插法输入数据,将线性表的链式结构代码进行了升级,希望对你们有帮助。#includeusing namespace std;#define OVERFLOW -1//定义OVERFLOW为-1#define OK 1#define ERROR -2typedef int ElemType;typedef int Status;typedef struct LNode {...
2019-04-02 10:54:06
602
原创 数据结构,运用线性表的链式表示和实现 ,c++语言
该代码为运用线性表的链式结构,实现数据的增删查等操作,希望对你们有帮助#includeusing namespace std;#define OVERFLOW -1//定义OVERFLOW为-1#define OK 1#define ERROR -2typedef int ElemType;typedef int Status;typedef struct LNode { //这个...
2019-04-02 10:51:11
971
原创 数据结构,运用c++语言打出顺序表
这个代码是我潜心研究课本的代码,才终于集大成,将代码敲了出来。希望这个代码对你有帮助。#includeusing namespace std;#define MAXSIZE 100//定义顺序表可能达到的最大长度#define OVERFLOW -1//定义OVERFLOW为-1#define OK 1#define ERROR -2typedef int ElemType;ty...
2019-04-02 10:47:27
357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人