摘要: 1、安装django-sslserverdjango默认的runserver使用的是http协议,如果需要https协议,需要安装django-sslserverpip install django-sslserver2、配置settings.py文件在INSTALLED_APPS下添加'sslse 阅读全文
posted @ 2022-05-31 16:36 郭祺迦 阅读(783) 评论(0) 推荐(0)
摘要: 终端项目目录下python manage.py migrate flush # 或者 python manage.py migrate app(app的名字) zero 阅读全文
posted @ 2022-05-31 16:18 郭祺迦 阅读(393) 评论(0) 推荐(0)
摘要: 示例1:# -*- coding: utf-8 -*- import aiomysql import asyncio async def test_mysql(): # 网络IO操作,连接MySQL conn = await aiomysql.connect(host='127.0.0.1', po 阅读全文
posted @ 2022-05-31 14:12 郭祺迦 阅读(145) 评论(0) 推荐(0)
摘要: 假如你的并发达到2000个,程序会报错:ValueError:too many file descriptors in select()。报错的原因字面上看是Python调取的select对打开的文件有最大数量的限制,这个其实是操作系统的限制,Linux打开文件的最大数默认是1024,Windows 阅读全文
posted @ 2022-05-31 14:12 郭祺迦 阅读(356) 评论(0) 推荐(0)
摘要: 在使用python代码操作Redis时,连接/操作/断开都是IO。pip3 install aioredis# -*- coding: utf-8 -*- import asyncio import aioredis async def execute(address, password): pri 阅读全文
posted @ 2022-05-31 14:11 郭祺迦 阅读(218) 评论(0) 推荐(0)
摘要: 1、异步上下文管理器此种对象通过定义__aenter__()和__aexit__()方法来对async with语句中的环境进行控制。import asyncio class AsyncContextManage: def __init__(self): self.conn = conn async 阅读全文
posted @ 2022-05-31 14:10 郭祺迦 阅读(55) 评论(0) 推荐(0)
摘要: 是asyncio的时间玄幻的替代方案。事件循环 > 默认asyncio的事件循环。pip3 install uvloopimport asyncio import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) # 编写a 阅读全文
posted @ 2022-05-31 14:10 郭祺迦 阅读(108) 评论(0) 推荐(0)
摘要: 1、什么是异步迭代器实现了__aiter__()和__anext__()方法的对象。__anext__必须返回一个awaitable对象。async for会处理异步迭代器的__anext__()方法所返回的可等待对象,直到引发一个StopAsyncIteration异常。由PEP 492引入。2、 阅读全文
posted @ 2022-05-31 14:09 郭祺迦 阅读(70) 评论(0) 推荐(0)
摘要: 1、concurrent.futures.Future对象使用线程池、进程池实现异步操作时用到的对象。具体参考:2020-11-16 ThreadPoolExecutor 的用法及实战以后写代码可能会存在交叉使用。例如:你的某个项目都是基于协程异步编程,加入mysql不支持协程,那么在访问数据库的时 阅读全文
posted @ 2022-05-31 14:08 郭祺迦 阅读(179) 评论(0) 推荐(0)
摘要: 1、案例:asyncio+不支持异步的模块# -*- coding: utf-8 -*- import asyncio import requests async def download_image(url): # 发送网络请求,下载图片(遇到网络下载图片的IP请求,自动化切换到其他任务) pri 阅读全文
posted @ 2022-05-31 14:08 郭祺迦 阅读(40) 评论(0) 推荐(0)
摘要: Task继承Future,Task对象内部await结果的处理基于Future对象来的。示例1:# python3.7的写法 import asyncio async def main(): # 获取当前事件循环 loop = asyncio.get_running_loop() # 创建一个任务( 阅读全文
posted @ 2022-05-31 14:07 郭祺迦 阅读(44) 评论(0) 推荐(0)
摘要: 白话:在事件循环中添加多个任务Tasks用于并发调度协程,通过asyncio.create_task(协程对象)的方式创建Task对象,这样可以让协程加入事件循环中等待被调度执行。处理使用async.create_task()函数以外,还可以用低层级的loop.create_task()或ensur 阅读全文
posted @ 2022-05-31 14:06 郭祺迦 阅读(111) 评论(0) 推荐(0)
摘要: 1、awaitawait + 可等待的对象(协程对象、Future、Task对象 --> IO等待)示例1:import asyncio async def func(): print('来玩啊') response = await asyncio.sleep(2) print('结束:', res 阅读全文
posted @ 2022-05-31 14:05 郭祺迦 阅读(124) 评论(0) 推荐(0)
摘要: 协程函数:定义函数时候async def 函数名。协程对象:执行 协程函数() 得到的就是协程对象async def func(): pass result = func() #result就是协程对象注意:执行协程函数创建协程对象,函数内部的代码不会执行的。如果想要执行协程函数内部代码,必须要将协 阅读全文
posted @ 2022-05-31 14:05 郭祺迦 阅读(37) 评论(0) 推荐(0)
摘要: 1、事件循环理解成为一个死循环,去检测并执行某些代码。# 伪代码 任务列表 = ['任务1', '任务2', '任务3', ...] while True: 可执行的任务列表, 已完成的任务列表 = 去任务列表中检查所有的任务, 将"可执行"和"已完成"的任务返回 for 就绪任务 in 可执行的任 阅读全文
posted @ 2022-05-31 14:04 郭祺迦 阅读(124) 评论(0) 推荐(0)
摘要: 1、协程协程不是计算机提供的,是由程序员人为的创建的协程(Coroutine):也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行。2、实现协程的几种方法greenletyield关键字asyncio装饰器(py3.4)async await关键 阅读全文
posted @ 2022-05-31 14:01 郭祺迦 阅读(89) 评论(0) 推荐(0)
摘要: 在接口里我们经常遇到这种需求,需要将对象的各个字段值返回user = User.objects.get(id=1)第一种方法,没错,我这样写过:user_dict = {} user_dict['username'] = user.username user_dict['email'] = user 阅读全文
posted @ 2022-05-31 13:58 郭祺迦 阅读(797) 评论(2) 推荐(1)
摘要: 简介Django Debug Toolbar是Django开发中必备利器,可以帮助开发者快速了解项目的整体信息以及每个页面包括sql信息,http相关信息。1、安装如图,使用pip命令直接安装即可;(注意:一般我们会用virtualenvwrapper创建虚拟开发环境,那么切记一定要先是workon 阅读全文
posted @ 2022-05-31 13:57 郭祺迦 阅读(425) 评论(0) 推荐(0)
摘要: 传Q对象,构造搜索条件首先还是需要导入模块 from django.db.models import Q # 传入条件进行查询: q1 = Q() q1.connector = 'OR' q1.children.append(('id', 1)) q1.children.append(('id', 阅读全文
posted @ 2022-05-31 13:46 郭祺迦 阅读(560) 评论(0) 推荐(0)
摘要: PyMySQL安装pip install pymysql基本使用import pymysql # 连接数据库 conn = pymysql.connect( host='数据库的地址', user='数据库用户名', passwd='数据库密码', port=3306, db='数据库名', cha 阅读全文
posted @ 2022-05-31 13:45 郭祺迦 阅读(308) 评论(0) 推荐(0)