自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 Fastapi+docker+tortoise-orm+celery

安装celery的时候注意python版本与celery版本的适配,有些celery的版本不支持python的版本,具体的版本请看celery官网里面的版本信息。这是celery的启动文件,里面最好不要引入你的项目里面的变量,如果引入你项目里的变了,后期去定义后台任务的时候,引入celery_app会陷入到循环引用的深坑。参考链接:https://whoosy.cn/2019/08/01/Celery/celery使用/1.配置tortoise-orm数据库连接。–pattern: 监控文件后缀。

2024-05-10 12:32:07 552 1

原创 fastapi_mail发送邮件,邮件附件文件重命名

记录修改fastapi_mail源码,支持对附件进行重命名

2024-03-05 11:52:38 543

原创 tortoise-orm连接多个数据库

python版本:3.8.6web框架:FASTApi虚拟环境创建python -m venv venv_name# venv_name 虚拟环境名称进入虚拟环境source ../../venv_name/bin/activate# ../../ 路径退出虚拟环境deactivate导入相关依赖包pip install -r docx/requirements.txt生成新的依赖包文件pip freeze > docx/requirements.t

2022-12-27 15:49:00 1521 2

原创 Python代码国际化

标题python代码国际化需要工具:poedit代码:import gettextdef change_lang(lang: str = 'zh'): global lang_obj if lang == 'en': lang_en = gettext.translation('en', 'locale', languages=['LANG']) lang_en.install() lang_obj = lang_en.gette

2022-01-19 16:23:00 1513 1

原创 fastapi-关于异常捕获,请求响应拦截等中间件

def register_exception(app: FastAPI): """ 全局异常捕获 :param app: :return: """ # 捕获参数 验证错误 @app.exception_handler(RequestValidationError) async def validation_exception_handler(request: Request, exc: RequestValidationError):

2021-11-26 10:54:59 4119

原创 fastapi框架tortoise-orm运用

创建数据库连接from fastapi import FastAPIfrom tortoise.contrib.fastapi import register_tortoisefrom app.config import configclass GetDB(object): def _get_orm_base_conf(self, apps: dict) -> dict: return { 'connections': {

2021-10-20 15:39:22 3328

原创 生成带logo的二维码

import osimport qrcodefrom PIL import Image, ImageDraw# 设置圆角def circle_crop_image(im, radii): # 创建一个黑色背景的画布 circle = Image.new('L', (radii * 2, radii * 2), 0) # 画黑色方形 draw = ImageDraw.Draw(circle) # 画白色圆形 draw.ellipse((0, 0, r

2021-10-20 15:06:56 272

原创 python 一些好用的函数,装饰器,库(自用,笔记)

记录下比较好用的一些工具函数,装饰器,库,持续更新。函数:1.StreamingResponseStreamingResponse 是 Fastapi框架中的某个响应函数,继承自Response,采用异步生成器或者普通生成器/迭代器并流式传输响应正文,如果后端需要返回一个很大的文件给前端,可以用这种方式去处理。装饰器:1. @lru_cache()@lru_cache()是functoolsPython 标准库的一部分 ,作用是 就是 调用一次,后续调用 不会生成新的对象,可以理解为一个项目

2021-07-09 11:15:12 936

原创 python 对指定excel文件生成sheet目录

python 对指定路径下的指定excel文件生成sheet目录代码如下:#!/usr/bin/env python# -*- coding:utf-8 -*-# @FileName :Excel2.py# @Time :2021/6/7 17:16# @Author :LJ# @Function :import osfrom pathlib import Pathimport openpyxlimport randomdef get_path():

2021-06-09 14:49:23 541 2

原创 python 生成指定路径下所有excel文件的目录

python 生成指定路径下所有excel文件的目录,并且可以跳转到指定sheet,代码如下:import osfrom pathlib import Pathimport xlwtimport datetimeimport xlrddef get_path(): while True: path = input("请输入需要查找的目录:") if Path(path).exists(): break return o

2021-06-09 14:48:15 1080 2

原创 FastApi+sqlalchemy异步操作mysql

FastApi+sqlalchemy异步操作mysql欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdow

2021-06-09 14:15:56 8266 13

原创 waller部署

1.下载git我这里用的是 ubuntu系统,安装gitsudo apt-get install git2.下载walle代码git clone https://github.com/meolu/walle-web.git3.安装mysqlsduo apt-get install mysql-server启动mysqlservice mysql start查看是否启动mysqlps -ef|grep mysql或者用sudo netstat -tap | grep mysql

2020-11-26 17:11:26 201

原创 Git图形化界面Sourcetree的安装及使用

文件下载地址:https://www.sourcetreeapp.com/根据自己的电脑系统选择对应的文件,我这里用的是windows系统。下载完成后点击 SourceTreeSetup-3.3.9.exe 文件 进行安装,正常等待,出现下一步,点击下一步,知道安装完成。配置1.下载完成后,在安装SourceTree的过程中,需要通过账户登录,但注册或登录界面可能根本无法打开,导致软件无法正常安装,解决方法: 在目录C:\Users{youruser}\AppData\Local\Atlas

2020-11-25 15:26:59 286

原创 FastAPI学习-4(cookie参数 Header参数)

1.cookie参数from fastapi import Cookie, FastAPI 声明cookie参数from fastapi import Cookie, FastAPIapp = FastAPI()@app.get("/items/")async def read_items(*, ads_id: str = Cookie(None)): return {"ads_id": ads_id} """Cookie是Path和Query的姐妹类,它也同样继承

2020-05-26 11:03:55 262

原创 FastAPI学习-4(路由参数验证)

1.Query(查询)参数 & 字符串验证需要导入Queryfrom fastapi import FastAPI, Query app = FastAPI()@app.get("/items/")async def read_items(q: str = Query(None, max_length=50)): results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} if q: resu

2020-05-20 15:25:38 707

原创 FastAPI学习-3(路由参数详解)

1.路径参数声明路径参数时,可以使用Python格式字符串使用的相同语法声明路径“参数”或“变量”无参数类型from fastapi import FastAPIapp = FastAPI()@app.get("/items/{item_id}") async def read_item(item_id): return {"item_id": item_id}代码中没有规定参数item_id的数据类型有数据类型from fastapi import FastAPI

2020-05-19 09:32:51 1988 2

原创 FastAPI学习-2(fastapi参数详解)

1.查看FastAPI源码参数如下:debug: 调试模式,True/False,此属性继承自starlette,在starlette中使用的是property装饰器routes:路由列表,默认值为None,此属性继承自starlette,类型为startlette的BaseRoute列表,BaseRoute与starlette的基础类型Scope有关title: API文档的标题,默认值FastAPIdescription: API文档的描述,默认为空version: API接口的版本号

2020-05-18 18:06:14 6002 1

原创 FastAPi学习_1

1.什么是FastAPIFastAPI是一种现代,快速(高性能)的Web框架,用于基于标准Python类型提示使用Python 3.6+构建API。特点:快速:非常高的性能,看齐的NodeJS和围棋(感谢Starlette和Pydantic)。现有最快的Python框架之一。快速编写代码:将功能开发的速度提高大约200%至300%。错误更少:减少约40%的人为错误(开发人员)。直观:强大的编辑器支持。完成无处不在。调试时间更少。简易:旨在易于使用和学习。减少阅读文档的时间。短:最小化代码重

2020-05-18 16:11:58 526

原创 windows10下docker的安装

1.开启Hyper-V2.下载资源资源地址 https://www.docker.com/get-docker3.安装双击Docker Destop Installer.exe

2020-05-15 11:02:59 289

原创 tornado-websocket简单了解一下

1.什么是websocketwebsockets允许浏览器和服务器之间进行双向通信,http请求都是客户端向服务端发送请求,然后服务端向客户端返回请求内容这种模式,但是websocket请求和http请求不一样,虽然 和http一样也经历三次握手建立连接,但是当建立连接后,服务端是可以主动向客户端发送消息,并且,这个连接通道是长连接,只有调用关闭连接的时候,才会关闭连接,不会向http请求一样,请求完成后就关闭了连接。WebSockets 协议是基于消息的. 因此,Tornado 里大多数的 HTTP

2020-05-15 10:12:07 1244

原创 Python分割图片成九宫格图片

代码import osfrom PIL import Imageclass ImageCrop(): def __init__(self, img_path): self.img_path = img_path def crop(self): im = Image.open(self.img_path) width, height = im.size w = width / 3 h = heigh

2020-05-13 13:35:34 361

原创 python_数据类型资料合集

1.字符串2.列表3.元祖4.字典5.number

2020-05-13 10:37:38 68

原创 python-函数装饰器,类装饰器,属性装饰器

理解装饰器python中的装饰器看起来类似java中的注解,然而并不相同,Python中装饰器本质是一个函数,只是这个函数可以在不改变别的函数的基础上,增加一些功能,想要理解装饰器,首先了解一下闭包这个概念闭包通俗点说,函数A中定义了另外一个函数B,这里A称为外函数,B称为内函数,所谓的闭包就是,内涵数B运用了外函数A定义的变量C,并且外函数的返回值是内函数的引用,这就是闭包,给段代码了解下:def A(number): C= 10 def B(): return int(number) +

2020-05-13 10:28:45 812

原创 python-os方法介绍

getcwd():获取当前工作目录,即当前Python脚本工作的目录路径chdir(“xxx”):改变当前脚本的工作目录,相当于shell下cd命令makedirs(“abc/cba”):生成多级目录removedirs(“abc/cba”):若目录为空,则删除。并递归到上一级目录,如果也为空,则删除…mkdir(“xxx”):生成单级目录rmdir(“xxx”):移除单级空目录remove(“xxx”):删除一个文件rename(“old”,”new”):目录重命名stat(“xxx”):

2020-05-13 09:22:57 66

原创 kernel_gateway去内核执行编程代码

最近因为工作需要,在研究调用kernel_gateway提供的api去运行python代码,先上代码:导入包代码import osfrom tornado.escape import json_decode, json_encode, url_escapefrom tornado.websocket import websocket_connectfrom tornado.ioloop import IOLoopfrom tornado.httpclient import AsyncHTTPCl

2020-05-12 18:02:11 333

原创 windows下安装mindoc文档服务器

mindoc文档服务器的介绍网上有很多,linux下安装mindoc文档服务器网上也有很多,今天来说说windows下安装文档服务器1.下载资源下载可执行的文件https://github.com/lifei6671/mindoc/releases选择对应的版本,我选的是mindoc_windows_amd64.7z解压该压缩包,这里就不说了修改配置文件我这里配置文件都是默认的没有修改什么,只是将app.conf.example文件修改成了app.conf创建数据库.

2020-05-12 17:27:26 989

转载 python异步方法asyncio的使用小结

感觉上面写的太分散了,这里总结下,参考了大佬的文章,不做别的用途,只用来自己回顾,大家感兴趣可以去看看大佬的文章,写的很详细一、事件循环EventLoop事件循环是asyncio的核心,异步任务的运行、任务完成之后的回调、网络IO操作、子进程的运行,都是通过事件循环完成的。我们不用管事件循环,只需要使用高层API,即asyncio中的方法,我们很少直接与事件循环打交道,但是为了更加熟悉asyncio的运行原理,最好还是了解EventLoop的设计原理。1、事件循环的创建、获取、设置(上文已经介绍过了)

2020-05-11 16:23:34 1819

原创 python异步方法asyncio的使用3

这里我们说下Task1.task是一个python协程对象,是Future类的一个子类,但它不是线程安全的, 它继承了Future的所有的API,但是不包括set_result() 和set_Exception()2.可以使用高层API asyncio.create_task()创建任务对象,或者可以用低层API loop.create_task()或者loop.ensure_future()创建任务对象3.相比于协程函数,任务时是有状态的,可以用Task.cancel()进行任务的取消,但是这会触

2020-05-11 15:13:40 621

原创 python异步方法asyncio的使用2

因为这里会说道awaitable对象,我们了解下什么是awaitable,awaitable对象可以理解为可暂停等待的对象,有三类对象是可以等待的,即coroutines, Tasks,Futures.coroutine:本质是一个函数,@asyncio.coroutine装饰器标记一个generator为coroutine类型,然后在generator内部用yield from调用另一个coroutine实现异步操作,这里我们不多做说明Tasks:任务,顾名思义,就是要完成某件事情,Task用来 并发

2020-05-11 14:21:34 512

原创 python异步方法asyncio的使用1

asyncio模块提供了使用协程构建并发应用的工具。它使用一种单线程单进程的方式实现并发,应用的各个部分彼此合作,可以显示的切换任务,一般会在程序阻塞I/O操作的时候发生上下文切换如等待读写文件,或者请求网络。同时asyncio也支持调度代码在将来的某个特定事件运行,从而支持一个协程等待另一个协程完成,以处理系统信号和识别其他一些事件。对于其他的并发模型大多数采用的都是线性的方式编写。并且依赖于语言运行时系统或操作系统底层的底层线程或进程来适当的改变上下文,而基于asyncio的应用要求应用代码显示的处理

2020-05-11 10:49:50 1202

原创 python3生成二维码

python3生成二维码依赖库 image qrcode pillowpip install imagepip install qrcodepip install pillow代码:import qrcodedef CodeImage(url, path): qr = qrcode.QRCode(version=2, # 版本 QR码符号共有40种规格,每一版本符号比前一版本每边增加4个模块 error_correction=qrc

2020-05-09 15:32:07 378

sourcetree

git图形化界面管理工具sourcetree,里面包含了git安装工具,sourcetree安装工具

2020-11-25

空空如也

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

TA关注的人

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