
python
专注于python
许先生'
这个作者很懒,什么都没留下…
展开
-
orm最全宝典
基本查询get 查询单一结果,如果不存在会抛出模型类.DoesNotExist异常。all 查询多个结果。count 查询结果数量。>>> BookInfo.objects.all()<QuerySet [<BookInfo: 射雕英雄传>, <BookInfo: 天龙八部>, <BookInfo: 笑傲江湖>, <BookInfo: 雪山飞狐>, <BookInfo: 西游记>]>>>>原创 2020-08-07 20:03:15 · 211 阅读 · 0 评论 -
celery使用+定义时间任务
首先说明我用的django框架,那么为什么要使用celery框架,django3.0以下版本都是同步处理请求,假设我现在有一万个任务,我的django框架是承受不了的,所以就用到了clery异步.首先在settings配置# 异步任务代理CELERY_BROKER_URL = 'redis://127.0.0.1:6379/'# 任务结果CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/'# 保存格式CELERY_RESULT_SERIAL原创 2020-08-05 20:18:59 · 711 阅读 · 1 评论 -
UWSGI和WSGI和nginx
什么是UWSGI和WSGIuwsgi协议uwsgi(小写!)协议是uWSGI服务器使用的本机协议。它是一个二进制协议,可以携带任何类型的数据。uwsgi数据包的前4个字节描述了该数据包包含的数据的类型。每个uwsgi请求都会以uwsgi格式生成响应。甚至Web服务器处理程序也遵守此规则,因为HTTP响应是有效的uwsgi数据包(请参阅modifier1= 72)。该协议主要通过TCP起作用,但是主进程可以绑定到UDP单播/多播,用于嵌入式SNMP服务器或群集管理/消息请求。SCTP支持正在开发原创 2020-07-30 11:36:05 · 245 阅读 · 0 评论 -
网络协议http与https,tcp和udp,tcp/ip
HTTP和HTTPS是什么?我们使用浏览器访问一个网站页面,在浏览器的地址栏中我们会看到一串URL,如图网站的URL会分为两部分:通信协议和域名地址。域名地址都很好理解,不同的域名地址表示网站中不同的页面,而通信协议,简单来说就是浏览器和服务器之间沟通的语言。网站中的通信协议一般就是HTTP协议和HTTPS协议。HTTP协议HTTP协议是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,但是互联网发展到今天,HTTP协议的明文传输会让用户存在一个非常大的安全隐患。试想一下原创 2020-07-30 11:27:42 · 1290 阅读 · 0 评论 -
flask中使用原生sql语句
话不多说直接上代码config配置SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:6666@127.0.0.1:3306/xu_falask'SQLALCHEMY_TRACK_MODIFICATIONS = False导包from flask import Flaskapp = Flask(__name__)db = SQLAlchemy(app)# 原生sql插入db.session.execute( 'insert i原创 2020-07-29 19:41:45 · 2621 阅读 · 2 评论 -
生成并使用jwt
废话不多说 直接上代码# 导入jwtimport jwt# jwt加密def encrypt_jwt(datas): playload = { # 过期时间 'exp': int((datetime.datetime.now() + datetime.timedelta(seconds=86400 * 7)).timestamp()), 'data': datas } # 生成jwt encode_jwt = jwt.原创 2020-07-29 17:10:29 · 172 阅读 · 0 评论 -
python常见算法面试题
def num(): return [lambda x: i*x for i in range(4)] # 这里使用的是lambda函数 print([m(2) for m in num()]) # 输出: [6, 6, 6, 6]这题涉及到了闭包延时绑定,当循环执行完了之后才会执行传参,循环四次,每一次循环完 i=3 然后再和x相乘 所以结果是6,6,6,6。 如果把 [ lambda x: ix for i in range(4) ] 改成 ( lambda x: ix for原创 2020-07-06 11:25:26 · 1561 阅读 · 0 评论 -
python中字典常用方法
以score为例 score = {'Michael': 95, 'Bob': 75, 'Tracy': 85}print(score['Bob']) # 通过key获取value值print(score.get('kk')) # 通过key获取value值score['KK'] = 123print(score) # 添加score.pop('Bob')print(score) # 删除print(score.keys()) # 查看所以keyprint(scor原创 2020-07-06 11:02:14 · 117 阅读 · 0 评论 -
python中元组常用方法
以numbers为例 numbers = (1, 2, 3, 4, 5, 4, 1, 2, 1)print(numbers.index(5)) # 查找数据的下标print(numbers.count(1)) # 出现的次数print(min(numbers)) # 返回最小值print(max(numbers)) # 返回最大值print(len(numbers)) # len() 求元组的长度list1 = [1, 2, 3]print(tuple(list1))原创 2020-07-06 10:59:43 · 874 阅读 · 0 评论 -
python中list常用方法
以list1为例 list1 = [1, 2, 3]list1.append(5) # 在列表末尾添加一个新的值print(list1)list2 = ['4', '5', '6']list1.extend(list2) # 在列表末尾添加另一个列表print(list1)list1.insert(1, 8) # 指定添加一个数据print(list1)list1.pop(2) # 指定移除某个值print(list1)list1.reverse() # 反转p原创 2020-07-06 10:57:28 · 227 阅读 · 0 评论 -
python字符串常用方法
以str1为例 str1 = “hellopythonhelloworld”print(str1.title()) # 首字母大写result: dlrowollehnohtypollehprint(str1.upper()) # 将所有字母大写result: HELLOPYTHONHELLOWORLDprint(str1.title()) # 将首字母大写result: Hellopythonhelloworldprint(str1.find('h', 18, 20)) #原创 2020-07-06 10:52:22 · 208 阅读 · 0 评论