自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YUAYU博客

坚决、果断、Never give up

  • 博客(82)
  • 收藏
  • 关注

原创 MySQL 语句练习 + 答案 + 解析 1-20题

学生表 student# 创建表create table student(sid varchar(6), sname varchar(10), sage datetime, ssex varchar(10));# 插入数据insert into student values('01' , '赵雷' , '1990-01-01' , '男');insert into student values('02' , '钱电' , '1990-12-21' , '男');insert into stud

2020-08-11 16:51:07 1321

原创 Python 之 Celery + Redis + Django 教程详细

这里写目录标题第一章 Celery简介1、Celery是什么2、Celery使用场景3 、Celery工作流程4、Celery核心组件第二章 Celery安装相关软件1、Celery安装2、其他安装第三章 Celery代码实现1、Celery基本使用方法2、Celery的配置文件配置异步任务3、Celery的定时任务4、Django + Celery5、Celery的部署和监控第一章 Celery简介1、Celery是什么1、Celery是python中使用比较多的并行分布式框架2、Celery是

2020-07-07 17:39:13 5698 2

转载 Python后端Web开发常用组件、命令(干货)

Python后端开发常用组件、命令(干货)持续更新中…1、生成6位数字随机验证码import randomimport stringdef num_code(length=6): """ 生成长度为length的数字随机验证码 :param length: 验证码长度 :return: 验证码 """ return ''.joi...

2020-01-16 17:52:03 1001

原创 MySQL 字符串的排序规则解析

MySQL 字符串的排序规则解析。

2023-01-09 15:29:52 3787 1

原创 Python + LDAP + TSL/SSL 跳过SSL验证

修改配置文vim /etc/sysconfig/slapd重启服务systemctl restart slapd查看端口启用没有python shell 测试连接import ldapldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)ldapconn = ldap.initialize('ldaps://IP:636')ldapconn.set_option(ldap.OP.

2022-01-06 17:52:28 1301 2

原创 Django + Channels + Websocket 及时通信练习

Git:https://github.com/HAHA-LIU/websocket_demo.git一、环境配置# python3 环境pip install Django==2.2pip install channels==2.4.0pip install channels-redis==2.4.2安装redis:https://zhuanlan.zhihu.com/p/34527270改redis.conf:protected-mode no二、代码结构三、代码解析1. w

2021-10-27 16:33:46 755

原创 python 斐波那契数列 + 尾递归

普通递归def fibonacci_fast(n): if n <= 1: return n else: return(fibonacci_fast(n - 1) + fibonacci_fast(n - 2))print(fibonacci_fast(10))def fibonacci_fast_2(n): a, b = 0, 1 for _ in range(n): a, b = a + b, a

2021-04-26 20:45:09 260 1

原创 python 测试函数运行时间装饰器

import timeimport functoolsdef clock(func): @functools.wraps(func) def clocked(*args, **kwargs): t0 = time.time() result = func(*args, **kwargs) elapsed = time.time() - t0 name = func.__name__ print('[%0.8

2021-04-26 17:00:28 212

原创 python 将字符串解释为布尔值

import sixTRUE_STRINGS = ('1', 't', 'true', 'on', 'y', 'yes')FALSE_STRINGS = ('0', 'f', 'false', 'off', 'n', 'no')def bool_from_string(subject, strict=False, default=False): """Interpret a string as a boolean. A case-insensitive match is perf

2021-04-08 14:59:53 362

原创 python 迭代对象、迭代器大解析

迭代对象结论:1、 拥有__iter___() 方法items_lis = [1,2,3]items_str = 'hello world'from collections.abc import Iteratorfrom collections.abc import Iterableprint(isinstance(items_lis, Iterable)) # True 迭代对象print(isinstance(items_lis, Iterator)) # False 迭代器

2021-03-19 00:12:38 346

原创 OpenStack 功能组件

文章目录OpenStack 主要功能组件表示层 Presentation逻辑控制层 Logic Control资源管理 Resources集成层 Integration管理层 ManagementHorizon -- UI服务Keystone -- 身份服务Nova -- 计算服务Glance -- 镜像服务Cinder/Swifty -- 存储服务Neutron -- 网络服务Heat -- 编排组织服务Ceilometer -- 监控计量服务组件的流程关系OpenStack 主要功能组件表示层 P

2021-01-26 15:22:38 478

原创 ElasticSearch 报错 The bulk request must be terminated by a newline [\\n]“ (postman测试)

注意:最后得空一行{"index": { "_index": "people"}}{"name":"嬴政","country":"China","age":60,"date":"1988-03-07","sex":"male"}{ "index": { "_index": "people"}}{"name":"刘备","country":"China","age":80,"date":"1828-03-07","sex":"male"}{ "index": { "_index": "people"

2021-01-05 16:09:36 2715

原创 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column

报错:Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.tables.DATA_LENGTH’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_b

2020-12-29 09:34:13 3529

原创 django 配置数据库连接 __init__.py

import pymysqlpymysql.install_as_MySQLdb()

2020-12-28 17:49:32 658 3

原创 python GIL 小记

什么是GLI?Python中的线程是操作系统的原生线程,Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用。为了支持多线程机制,一个基本的要求就是需要实现不同线程对共享资源访问的互斥,所以引入了GIL。由于GLI的存在,一个线程拥有了解释器的访问权之后,其他的所有线程都必须等待它释放解释器的访问权,即使这些线程的下一条指令并不会互相影响。在调用任何Python C API之前,都要先获得GIL。GLI特点缺点:多处理器退化为单处

2020-12-23 13:28:26 94

原创 Nginx 静态文件访问

图片路径:/root/large_img/zhengshunginx.confserver { listen 8080; server_name localhost; location ~/group([0-9])/M00 { ngx_fastdfs_module; } location ~(ope|permit|cars|zhengshu) { ro

2020-12-18 16:15:30 167 1

原创 python 批量给字典赋值,更新字典

new_seq = {'Google': '', 'Runoob': '', 'Taobao': ''}a = ['google','runoob','taobao']c = dict(zip(new_seq.keys(),a))print(c)# {'Google': 'google', 'Runoob': 'runoob', 'Taobao': 'taobao'}

2020-12-18 13:24:51 12785 5

原创 pymysql format 注入

sql = "SELECT * FROM dj_users WHERE userName='{}' and name='{}'".format("kefu1245165","asd' or '1'='1")SELECT * FROM dj_users WHERE userName='kefu12' and name='asd' or '1'='1'

2020-12-10 19:13:40 362

原创 Mysql 创建用户,赋予权限,查看权限,删除用户,修改密码

查看用户select host,user from mysql.user;+-----------+---------------+| host | user |+-----------+---------------+| % | root || localhost | mysql.session || localhost | mysql.sys |+-----------+---------------+创建用户

2020-12-03 10:24:16 427

原创 python 编辑 9*9 乘法表

for i in range(1, 10): for j in range(1, i+1): print(str(j) + '*' + str(i) + '=' + str(i*j), end='\t') print()print('-' * 30)

2020-12-01 15:32:03 129

原创 Flask + Celery + Redis 异步发送邮件

import osimport randomimport timefrom flask import Flask, request, render_template, session, flash, redirect, \ url_for, jsonifyfrom flask_mail import Mail, Messagefrom celery import Celery# windows 启动命令 :celery -A flask_celery:celery worker -l

2020-11-20 10:07:39 594 1

原创 记录 self.db.ping(True) 妙处

import pymysqlimport timeclass Test(): def __init__(self): self.db = pymysql.connect('182 ip ', 'root', '密码', 'test', charset='utf8') def save(self): self.db.ping(True) print('存数据') time.sleep(1) self.db.

2020-11-19 11:56:16 578 1

原创 Docker 部署 Django 个人笔记 更新ing

学习网站:1. Docker 从入门到实践 2. Docker 版 Django 3. Docker 思维导图,提取码:8888Django:项目文件目录:项目文件进入项目文件得知,requirements.txt 与 Dockerfile 同级查看 Dockerfile然后在 Dockerfile 所在的文件夹下,运行docker build -t my_django/python3 .然后就是各种下载,安装,最后:根据Dockerfi

2020-11-10 22:27:47 157

原创 Python 逆转矩阵

l = [[1,2,3],[4,5,6],[7,8,9]]def rotate(matrix): # 逆时针旋转矩阵 row = len(matrix) col = len(matrix[0]) # 存放旋转后的矩阵 new_matrix = [] # 行列调换 for i in range(col): new_line = [] for j in range(row): new_line.a

2020-11-05 17:47:22 784

原创 python 使用 ffmpeg 合并音频+视频

import subprocessdef video_add_mp4(file_name,mp4_file): outfile_name = file_name.split('.')[0] + '-new.mp4' cmd = f'F:\\FFmpeg\\bin\\ffmpeg -i {mp4_file} -i {file_name} -acodec copy -vcodec copy {outfile_name}' print(cmd) subprocess.call(

2020-11-04 16:24:01 7819 3

原创 python 的 maketrans & translate 文本字符串替换

import stringtext = ("g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc" "dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcv" "r gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnj" "w ml rfc sp

2020-10-16 14:40:54 638

原创 Pandas.read_html() 获取静态网页表格数据

import pandas as pddf = pd.read_html("http://www.air-level.com/air/xian/", encoding='utf-8', header=0)[0]df.to_csv('xian_tianqi.csv', index=False)参考1:参考2:

2020-09-28 14:13:45 353

原创 sqlalchemy 出现 UnicodeEncodeError: ‘charmap‘ codec can‘t encode characters in position 0-3: character

在数据库的后面加上 : ?charset=utf8

2020-09-25 14:54:13 974 1

原创 Flask 的 flask_sqlalchemy

创建数据表和数据# -*- coding:utf-8 -*- # author: LIUWENYU# datetime: 2020/9/16 17:07# describe:from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SECRET_KEY'] = '666'# 连接数据库app.config['SQLALCHEMY_DATABASE_UR

2020-09-25 10:20:03 127

原创 python 脚本发送邮件 & Django 发送邮件 & 谷歌邮箱发送

settings:# 电子邮件EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 固定写法EMAIL_HOST = 'smtp.163.com' # 腾讯QQ邮箱 SMTP 服务器地址EMAIL_PORT = 25 # SMTP服务的端口号EMAIL_HOST_USER = '' # 发送邮件的QQ邮箱EMAIL_HOST_PASSWORD = '' # 邮箱的授权码(即QQ密码)EMAIL_USE_TLS =

2020-09-16 16:14:34 668

原创 Flask框架 学习小记

app.pyimport osfrom flask import Flask, request, jsonify, render_templatefrom flask import url_for, flash, redirect, abort, Response, make_response,sessionfrom flask_sqlalchemy import SQLAlchemyfrom werkzeug.utils import secure_filenameALLOWED_EXTE

2020-09-14 16:48:28 143

原创 Flask secure_filename 上传文件

项目结构app.py:import osfrom flask import Flask, request, jsonify, render_template, url_for, flash, redirectfrom werkzeug.utils import secure_filenameALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}UPLOAD_FOLDER = os.path.dirname(__file

2020-09-11 14:27:34 466

原创 django 生成验证码,并用验证码校验登录

from PIL import Image, ImageFontfrom PIL.ImageDraw import ImageDrawfrom django.conf import settingsfrom middle.utils import generate_codedef get_code(request): mode = "RGB" # 颜色模式 size = (200,100) # 画布大小 red = random.randrange(255)

2020-09-06 19:59:09 802

原创 Django namespace 和 app_name 和 name

详细解释,看这个文章一、namespace与 settings 同级 urls:在 middle.templates ,form 表单:二、app_name在 middle.urls在 middle.templates ,form 表单:三、namemiddle.views:重定向的时候可以使用:

2020-09-06 12:28:27 585

原创 python List 列表去重方法及效率

1、直观方法li=[1,2,3,4,5,1,2,3]new_li=[]for i in li: if i not in new_li: new_li.append(i)print(new_li)总结:这样可以做出来,但是效率不行。但是此方法保证了列表的顺序性。2、利用set的自动去重功能li=[1,2,3,4,5,1,2,3]li=list(set(li))print(li)将列表转化为集合再转化为列表,利用集合的自动去重功能。简单快速。缺点是:使用set方

2020-09-06 12:04:21 609

原创 Django 框架全局捕捉异常

项目结构:中间件文件:# 定义中间件类,处理全局异常class ExceptionTestMiddleware(MiddlewareMixin): # 如果注册多个process_exception函数,那么函数的执行顺序与注册的顺序相反。(其他中间件函数与注册顺序一致) # 中间件函数,用到哪个就写哪个,不需要写所有的中间件函数。 def process_exception(self, request, exception): '''视图函数发生异常时调用'

2020-09-03 14:54:50 1249

原创 Django 内置数据库缓存 redis缓存 多缓存

一、内置数据库缓存1、首先创建一个数据库2、创建一个缓存表 python manage.py createcachetable my_cache_table3、项目目录结构:自己配置好 appcache,urls 等3、settings 配置CACHES = { 'default':{ # django 内置缓存 数据库形式 性能相对较低 'BACKEND': 'django.core.cache.backends.db.Datab

2020-09-03 13:50:17 424

原创 Django 中间件之限制ip访问次数 和 黑名单

white = ['127.0.0.1'] # 白名单black = ['127.0.0.2'] # 黑名单ban = {} # 小黑屋ban_seconds = 3 # 三秒内ban_limit = 5 # 三秒内允许访问5次ban_time = 30 # 被封时间30秒class AuthMD(MiddlewareMixin): def process_request(self,requ.

2020-09-02 16:08:29 1839

原创 Django form 防止csrf 的解决方法

解决方法1:Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段时,导致校验失败,报403错误MIDDLEWARE = [# 'django.middleware.csrf.CsrfViewMiddleware',]注释掉此段代码,即可。缺点:导致Django项目完全无法防止csrf攻击解决方法2:在 views.py文件中:#导入,可以使此次请求忽略csrf校验from django.views.decorators.csrf impor

2020-09-02 11:18:22 486

原创 Django 中间件 小记

定义中间件的五个方法:process_request(self,request)process_view(self, request, view_func, view_args, view_kwargs)process_template_response(self,request,response)process_exception(self, request, exception)-process_response(self, request, response)小坑:中间件名字只能这么写

2020-09-01 18:02:22 155

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除