随笔分类 -  Python

摘要:一、同源策略 同源策略:是浏览器最核心最基本的安全功能,即 请求的url地址必须跟浏览器上的url地址处于同域上(域名、端口、协议都相同) 二、CORS(跨域资源共享)简介 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 整个CORS通信过程,都是浏览 阅读全文
posted @ 2020-11-19 19:47 NQ31 阅读(122) 评论(0) 推荐(0)
摘要:一、JWT认证: 1、本质: 定义:在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。 本质: 签发和校验 签发:根据登录请求提交来的 账号 + 密码 + 设备信息 签发 阅读全文
posted @ 2020-11-17 15:03 NQ31 阅读(210) 评论(0) 推荐(0)
摘要:一、Django六种缓存方式(都是在settings中设置) 1、开发调试(开发调试使用,实际不做任何操作) CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 引擎 'TIMEOUT 阅读全文
posted @ 2020-11-13 20:13 NQ31 阅读(167) 评论(0) 推荐(0)
摘要:一、利用coreapi库 使用方法: 1、安装coreapi pip install coreapi 2、在路由配置文档链接 from rest_framework.documentation import include_docs_urls urlpatterns = [ ... path('do 阅读全文
posted @ 2020-11-11 18:19 NQ31 阅读(143) 评论(0) 推荐(0)
摘要:1、Cookie (1)设置cookie,需要将render,HttpResponse,redirect赋值给一个对象obj,然后在obj对象设置cookie obj=reder(request,'home.html) #没加密 obj.set_cookie(key,value,...) #加密 o 阅读全文
posted @ 2020-10-10 20:46 NQ31 阅读(142) 评论(0) 推荐(0)
摘要:Forms组件基本使用 1、forms组件的使用 #1、导入forms模块 from django import forms #2、创建forms类,继承forms.Form class Forms(forms.Form): username=forms.CharField(min_length=3 阅读全文
posted @ 2020-10-09 13:00 NQ31 阅读(144) 评论(0) 推荐(0)
摘要:Django连接MySQL数据库 1、在settings配置文件将sqlite3数据库配置改成mysql数据裤配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'Django_db', 'USER' 阅读全文
posted @ 2020-10-05 20:44 NQ31 阅读(181) 评论(0) 推荐(0)
摘要:基本知识 Django命令行操作 创建Django项目:django-admin startproject 项目名 运行Django项目:python manage.py runserver 注意:需要切换到Django项目下 创建应用: python manage.py startapp 应用名称 阅读全文
posted @ 2020-10-02 22:40 NQ31 阅读(256) 评论(0) 推荐(0)
摘要:socketsoerver类的五大类型之间的联系: 日常主要用到的是以下这两个类型,但是,你会发现这两个类型,并没法实现我们要的多客户端连接,只等前一个连接结束,后一个连接才可以开始。 socketserver.TCPServer:是用于TCP连接 socketserver.UDPServer:是用 阅读全文
posted @ 2020-09-16 15:21 NQ31 阅读(205) 评论(0) 推荐(0)
摘要:思路:1、把文件名,文件大小封转成一个字典2、用struct模块封装成头信息3、把该头部信息先发给对方4、打开文件,逐行读取并发送遇到问题:file_size=os.path.getsize(filename)得到的文件大小,比实际发送的文件大小偏大,具体原因还没查到?解决方法:先暂时采用read( 阅读全文
posted @ 2020-09-16 15:17 NQ31 阅读(371) 评论(1) 推荐(1)
摘要:阻塞IO模型(blocking IO) 因为通信的时候,数据是先复制到系统,再通过网线发送的,所以,recv在等待接受数据的时候,会先跟内核/操作系统要数据。进而出现两个等待过程,一个是系统等待对方发送数据、一个是应用程序等待系统的数据拷贝过来。 非阻塞IO(unLocking IO) 非阻塞IO是 阅读全文
posted @ 2020-09-16 15:14 NQ31 阅读(137) 评论(0) 推荐(0)
摘要:1、死锁 定义; 类似两个人分别被囚禁在两间房子里,A手上拿着的是B囚禁房间的钥匙,而B拿着A的钥匙,两个人都没法出去,没法给对方开锁,进而造成死锁现象。具体例子代码如下: # -*-coding:utf-8 -*- from threading import Thread,Lock,RLock i 阅读全文
posted @ 2020-09-16 15:11 NQ31 阅读(267) 评论(0) 推荐(0)
摘要:IPC机制:进程间通信或跨进程通信,指两个进程之间进行数据交换。 模型:生产者+媒介(队列)+消费者(用到的就是IPC机制)这里队列用JoinableQueue这个模块,该模块有以下几个方法: JoinableQueue()内有自带计数器,每当队列放一个数据的时候,会自动+1 task_done() 阅读全文
posted @ 2020-09-16 15:04 NQ31 阅读(160) 评论(0) 推荐(0)
摘要:pymysql模块的基本使用 pymysql模块的注意事项:1、连接数据裤的时候,connect下的编码参数不能有’-‘ 例如:utf-8 要写成utf8,否则会报错。2、创建光标的时候,可以添加cursor=pymysql.cursors.DictCursor这个参数,这样获取的结果会以字典的形式 阅读全文
posted @ 2020-09-16 14:19 NQ31 阅读(289) 评论(0) 推荐(0)