自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (3)
  • 收藏
  • 关注

原创 使用logrotate+crontab配置celery日志按天切割

使用logrotate+crontab配置celery日志按天切割

2022-03-14 15:34:13 1713

原创 使用logrotate实现日志文件自定义切割保存

使用logrotate实现日志文件自定义切割保存

2022-02-11 15:21:44 2748

原创 Django中CELERY_BROKER_TRANSPORT_OPTIONS配置项

Django中CELERY_BROKER_TRANSPORT_OPTIONS配置项:设置添加异步任务时,连接broker的超时的相关配置

2022-02-10 16:44:25 3320 1

原创 django migrations文件如何转成sql

django migrations文件如何转成sql

2022-02-10 16:28:57 1334

原创 python manage.py migrate和 migrate --fake和migrate --fake-initial的区别

python manage.py migrate和 migrate --fake和migrate --fake-initial的区别

2022-02-10 16:19:20 3321

原创 Nginx中absolute_redirect、port_in_redirect配置简述

Nginx中absolute_redirect、port_in_redirect配置简述

2022-02-10 16:13:01 6980 2

原创 Django中实现order by FIELD

Django中实现order by FIELD

2022-02-10 15:29:10 1527 1

原创 python 解压 .rar/.zip简述

一、解压rar 非Windows环境对.rar文件兼容不是很好,不建议使用,会出现奇奇怪怪的问题,如果一定要用,如下:1、安装rarfilepip install rarfile2、简单的例子import rarfileimport datetimepath = "../files/test.rar"path2 = "../files/"print(datetime.datetime.now())rf = rarfile.RarFile(path)pr...

2021-08-12 18:38:28 397

原创 Python中的装饰器

一、普通装饰器def check_permission(func): # 使用functools.wraps可以保留原函数的属性 @wraps(func) def wrap(request, *args, **kwargs): try: pass except MyException as e: raise e except Exception: raise

2021-08-04 10:43:56 81

原创 Nginx配置Django admin指定静态文件目录(可自定义使用2.x版本或3.x版本的admin)

一、背景:在实际使用过程中,经常存在同一个nginx网关同时代理着django版本2.x和 3.x的应用,这个时候,如果我们使用了Django自带的admin管理后台,你会发现,其实2和3的admin静态资源是不兼容的。这个时候为了不影响原有应用的正常使用的同时保证新的应用正常,我们需要在nginx上同时配置两个或者更多版本的Django admin静态资源路径,然后应用在使用时就可以根据实际django版本来配置settings.py中的STATIC_URL路径指定使用哪个版本的静态资源。..

2021-05-27 15:12:03 664

原创 Django session配置总结

# 为了避免和其它系统的session串了,可以修改名字SESSION_COOKIE_NAME = "your_system_id" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径(默认)SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默.

2021-03-08 11:02:39 176

原创 Django Admin页面自定义设置

一、设置名称from django.contrib import admin# 修改管理端默认配置名admin.site.site_header = 'xxx Admin'admin.site.site_title = 'xxx'二、增加自定义字段的搜索框@admin.register(xxx)class xxxAdmin(admin.ModelAdmin): list_display = ( 'id', 'type', 'creator', 'creat

2021-02-22 17:07:38 3570

原创 GRPC学习记录

RPC是远程过程调用(Remote Procedure Call)GRPC是google出的高性能、开源的通用RPC框架ERP系统SAP系统构建一个GPRC helloworld项目:1、项目目录结构 grpc_helloworld: protos helloworld.proto rpc_package __init__.py helloworld_pb2.py ...

2020-06-29 18:23:09 194

原创 django中切换数据库源为mysql时的踩坑

一、问题描述:django中默认的数据是sqlite,但是我们正常使用都是mysql,所以就按照官网的教程配置修改settings.py中的数据库配置,项目初始化文件__init__.py, 如下:1、settings.py# DATABASES = {# 'default': {# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3

2020-06-03 12:33:50 337

原创 mysql查询表的字段信息

SHOW FULL COLUMNS FROM TABLE_NAME

2020-03-10 10:17:09 214

原创 mysql中字符串类型的数字排序出错解决方法:cast(year as signed)

将字符串类型的数字转化为数字类型的数字就可以了,如下:select year, monthfrom tableorder by cast(year as signed), cast(month as signed) asc

2020-03-06 10:46:17 2623

原创 本地telnet不通虚拟机的某个端口,经查看是因为防火墙,那么CentOS7如何关闭防火墙

1、查看防火墙状态:systemctl status firewalld.service2、临时关闭防火墙:systemctl stop firewalld.service 3、永久关闭防火墙:systemctl status firewalld.service...

2020-03-03 15:25:43 818

原创 pip 指定pip源和requirements.txt文件安装

pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt

2020-03-03 10:54:43 7457

原创 python中多进程、多线程、进程池和线程池、协程的简单理解举例

一、python中多进程、多线程、进程池和线程池、协程的简单理解举例:1、在python中由于GIL(全局解释器锁)的存在,同一个时刻只能有一个线程在一个cpu上运行,所有使用多线程的时候,利用不上cpu多核的性能, 所以,多线程适合使用在io密集型计算中,而且需要注意的是,只要多线程中有一个线程对cpu消耗大,那么整体的性能立马会大大下降。2、GIL的存在是python历史遗留的问...

2020-03-01 11:51:18 308

原创 centos7安装docker

一、安装依赖yum install -y yum-utils \ device-mapper-persistent-data \ lvm2二、设置仓库yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo三、安装 Docker En...

2020-02-24 13:00:28 156

原创 centos7默认安装后网卡未启动的解决

1、首先,centos7已经没有ifconfig命令,需输入 ip addr查看ip,此时发现没有ip信息2、经搜索发现是网卡默认没打开,需要vi /etc/sysconfig/network-scripts/ifcfg-ens33 将配置里面的 ONBOOT=no改为yes3、重启网卡服务,service network restart4、再次 ip addr ...

2020-02-24 12:44:27 1290 1

原创 windows 10 安装mysql5.7.29解压版全过程及踩坑

windows 10 安装mysql5.7解压版1、下载mysql5.7并解压到你的安装目录 官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 我解压后的目录为:D:\programfiles\mysql\mysql-5.7.29-winx642、修改环境变量 (1)新增系统变量MYSQL_HOME...

2020-02-04 11:25:23 1156

原创 从零开始搭建prometheus+grafana

从零开始搭建prometheus+grafana一、grafana安装1、官网下载rpm安装包 https://grafana.com/get我下载的是 grafana-6.4.4-1.x86_64.rpm2、切换到root,安装启动yum localinstall grafana-6.4.4-1.x86_64.rpmservice grafana-server start...

2020-01-17 17:24:57 333

原创 linux(centos7) 安装jdk1.8

1、下载jdk,官网自己找一下需要的版本 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我下载的是 jdk-8u191-linux-x64.tar.gz2、在你需要的目录下解压jdk 我的目录是/app/java, 将下载的jdk包rz上传到...

2020-01-15 15:10:24 123

原创 在python中使用pymysql踩过的坑

在python中使用pymysql踩过的坑当你的sql中使用到%()s来接收dict格式的参数时,无论是有没有使用到的key,key的值都不能是字典列表[{}],否则会报TypeError: sequence item 0: expected str instance, dict found错误,其它的二元数组[[]]、字典{{}}等都不会报错。举例: # 只要param中包...

2019-12-26 18:20:35 801

原创 python 中 websocket实现消息定时推送

一、socket服务端 websocket_util.pyimport socketimport base64import hashlibfrom threading import Threadimport structimport copyimport jsonimport timefrom XX.redis_db import RedisDbfrom utils.s...

2019-12-20 19:24:11 3166

原创 python列表推导式中的多层for循环if-else嵌套

一、列表推导式中的if-else:1、只有一个if [x for x in data if condition]2、只有一个if-else [exp1 if condition else exp2 for x in data]3、多层if-else a=['零' if i==0 else '三' if i==3 else '五' if i==5 else i for...

2019-11-04 14:56:04 8623

原创 restful接口设计风格简单理解

restful是目前最流行之一的api接口设计风格,主要有以下特点1、资源2、统一的接口url3、无状态总的一句话,restful是一种接口设计风格,没有很固定的限制,只要满足条件,都算restful它通过一个唯一并且统一的接口url,根据不同的method POST/DELETE/PUT/GET来分别对应一个资源的增删改查操作。详情可查看中文网http://restful.p2h...

2019-10-29 16:18:29 631

原创 python 中 pymysql拼接执行入参踩坑(%跟%%的区别)总结

一、对于不同类型的入参,有不同的占位符,但是用多了会发现,%s才是真理二、sql拼接可以用%s,也可以用format,如果不考虑sql注入风险问题,个人建议使用format,可以接受dict为入参进行匹配。三、在考虑sql注入风险的情况下,可以将拼接好的sql跟入参分开,调用cur.execute(sql, params)来规避sql注入风险。 需要注意的是,这里有两种使用方式,建议使...

2019-10-23 16:31:44 4369 2

原创 mysql中对json数据的属性进行更改或者添加

通过json_set进行对json字段的键值进行修改,如果存在就进行替换,如果不存在键值,就增加键值对.update test set json_data = json_set(json_data, "$.menu", 'asd') where true and user_id = '111111'...

2019-10-16 13:53:15 3236

原创 python中pymysql执行sql的两种可防止sql注入漏洞的传参方式(1、元组/列表 2、dict字典)

1、采用sql拼接的方式,拼接时用 xx= %s的方式,入参格式为元组或者list如下举例:sql = "select count(*) as sys_num from test where true "params = []if param1: sql += " and param1 = %s " params.append(param1)if param2: ...

2019-10-11 15:46:10 584

原创 python 打包自己的模块并安装使用

1、创建一个你自己的包目录,如myPy将你需要打包的代码模块放到目录下,需要注意的是,打包的代码包一定要有__init__.py文件,python才能识别。结构如下:2、2、如上图:我需要打包的是excelUtil包里面的excel_util.py模块3、在myPy目录下创建一个README.md文件,这是模块用法介绍文件,可以留空4、接下来这一步最重要,在myPy目录下创建set...

2019-09-29 17:55:54 875

原创 python 获取当前方法名

import sysfunction_name = sys._getframe().f_code.co_name

2019-09-26 10:35:32 1053

原创 python 中 zip()函数的使用

将三个同样长度的列表转字典,如下:fee_dict = {i: {"this": j, "last": k} for i, j, k in zip(fee_name_list, this_fee_list, last_fee_list)}事实上,只要长度一样,无论几个列表都可以使用zip()函数来操作,很是方便...

2019-08-30 12:17:55 148

原创 python 中使用redis缓存解决接口返回慢的问题

1、背景:在实际的开发中,很多的接口一放到生产环境,由于数据量大,请求量大等等原因,有些接口从请求到数据返回耗时很长,非常影响用户的体验(接口一般要保证在1s内返回)。2、解决方法思路:(1)首先想到的当然是优化接口,提高接口性能。(2)但是,当接口优化还解决不了问题时,那么就要考虑第二种方法了,立马想到了缓存,首先想到的是redis,又考虑到redis是内存缓存,如果redis...

2019-08-28 17:39:37 994

原创 flask捕获@app.errorhandler/@app.after_request全局异常总结

在这个问题的探索过程中,看过很多人分享的文章,但是发现都只是简单的例子,没有结合到项目中,因此,大家都成功的方法,我放进项目里就不行了。经过查找,最终发现问题所在,在此总结记录分享一下,希望有所帮助。捕获处理全局异常的方法有两种:@app.errorhandler、@app.after_request1、第一种的使用,需要将flask的debug开关打开才能生效(自动捕获异常),在confi...

2019-08-27 16:36:11 4075

原创 mysql 数据导入导出

1、mysql导出表数据和结构(1)导出结构不导出数据 mysqldump --opt -d 数据库名 -u root -p > xxx.sql 如: mysqldump -u tdata -p --opt -d tdata xxx> /app/sql/xxx.sql(2)导出数据不导出结构 mysqldump -t 数据库名 -uroot -p &gt...

2019-08-27 15:52:26 82

原创 python中 arg,*args,**kwargs的区别

arg指的是对应位置的参数*args 用来将参数打包成tuple元组给函数体调用**kwargs 用来将关键字参数打包成dict给函数体调用如下例子:def test(arg, *args, **kwargs): print(arg, args, kwargs)test('arg', 2, 3, 4, name='李四', age=18, hight='180cm'...

2019-08-24 17:55:13 878

原创 flask_apsscheduler的简单使用

1、app.__init__.pyfrom flask import Flaskfrom flask_apscheduler import APSchedulerimport config# 初始化appapp = Flask(config.APP)app.config.from_object('config')# # 初始化定时任务模块scheduler = APSche...

2019-08-23 19:11:40 1117

原创 python 读取excel文件数据并插入数据库

import pandas as pdfrom sqlalchemy import create_engineexcelFile = '/data/user.xlsx'df = pd.DataFrame(pd.read_excel(excelFile))engine = create_engine("mysql+pymysql://test:123456@localhost:3306...

2019-08-20 11:47:29 2273

upload_demo_test.zip

python flask框架上传下载文件的demo, 过滤不同类别的文件

2019-07-03

一个简单的例子哦哦哦哦

测试vue demo

2019-06-06

python3.6.5虚拟环境

python venv 3.6.5

2019-04-11

空空如也

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

TA关注的人

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