- 博客(43)
- 收藏
- 关注
原创 git 补丁使用
如果补丁应用成功,Git 将自动将更改应用到你的代码中。如果有冲突或其他问题,Git 会提示错误信息,并尝试合并更改。在 Git 中,你可以使用 git diff 和 git apply 命令来生成和应用补丁(patch)。
2023-07-20 23:18:39 1026
原创 浏览器中文编码解码利用python实现
import urllib.parsexx = "%E8%81%AA%E6%98%8E%E7%9A%84%E5%A4%A7%E5%98%B4%E8%8A%B1"print(urllib.parse.unquote(xx)) # 解码s = input("请输入中文:")result = urllib.parse.quote(s) # 转为 url 编码print(result)
2022-05-20 10:56:31 1150
原创 bootstrap 传值
利用 data- 进行传值,获取该值的时候,使用$("#id名称").data('data-后面的内容') <table class="table table-hover table-bordered"> <tr class="text-center"> <th class="text-center">数据库中名称</th> <th class="tex
2022-03-04 09:31:32 890 1
原创 JWT 简介
Json web token(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准,JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源三部分组成第一部分:算法、token类别格式为字典-元数据 ,格式如下,该部分数据需要转成json串并用base64转码{'alg':'HS256','typ':'JWT'}# alg 代表要使用的算法# typ 标识该token的类别,此处必须为大写的JWT第二部分:具体数据格式为字典
2022-02-14 11:43:24 466
原创 Django 数据库时间UTC格式改为Asia/Shanghai
修改settings.pyTIME_ZONE = 'Asia/Shanghai'# 关闭时区功能后,数据库存储时间时,按照TIME_ZONE时区进行存储,若设置为True,数据库中存储的时间为UTC,但是在读取时间的时候Django会根据settings.py进行转换USE_TZ = False...
2022-02-11 14:24:24 4052
原创 Django RESTful 设计风格
全称:Representational State Transfer资源网络上的一个实体,或者说是网络上的一个具体信息,并且每个资源都有独一无二的URI与之相对应;获取资源-直接访问URI即可表现层如何去表现资源-即资源的表现形式;如 HTML、XML、JPG、json等状态转化访问一个URI即发生了一次客户端和服务器端的交互;此次交互将会涉及到数据和状态的变化客户端需要通过某些方式触发具体的变化-HTTP method 如GET,POST,PUT,PATCH,DELETE等特征1.
2022-02-11 10:06:26 550
原创 Django中间件
中间件是Django请求/响应处理的钩子框架,它是轻量级的、低级的“插件”系统,用于全局改变Django的输入或输出中间件以类的形式体现每个中间件负责做一些特定的功能。例如,Django包含一个中间件组件AuthenticationMiddleware,它使用会话将用户与请求关联起来中间件类必须继承自django.utils.deprecation.MiddlewareMixin类中间件类必须实现下列五个方法中的一个或者多个process_request(self,request)执.
2022-02-10 16:35:23 229
原创 Django数据库缓存
使用场景:经常做查询,对实时数据不作要求,数据量大等场景内存缓存是缓存手段当中最快的,但是有内存溢出漏洞文件缓存是缓存当中性价比最高,安全有漏洞数据库缓存,再创建一个表存放经常查询的数据,设计难度比较高在settings中配置# 数据库缓存CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', # 缓存后台使用的引擎 'LOCATION': '
2022-02-10 10:27:25 2480
原创 Django中关于模板的查找顺序
如果settings.py中的TEMPLATES里面的参数DIRS设置为如下,查找优先顺序为优先去项目根目录下的templates中寻找根目录下的templates未找到,根据app的注册顺序,逐一去app下的templates目录中找import osTEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(.
2022-02-07 17:08:54 1307
原创 Django解决跨域问题
利用python第三方库解决跨域问题pip3 install django-cors-headers设置seetings.pyINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib
2022-01-25 15:44:45 1503
原创 Django自定义过滤器
需求:Django框架中,后端传入前端数据量太大,展示不下,需要只展示前几个字符串解决方案:自定义过滤器返回前几个字符串在app目录下新建templatetags目录,在该目录中新建__init__.py以及myFilters.py,myFilters.py中定义过滤器返回前10个字符串from django import templateregister = template.Library()@register.filterdef InterceptString(post_resu
2021-12-31 15:26:14 534
原创 fastapi获取访客真实ip
from fastapi import FastAPIfrom starlette.requests import Requestapp = FastAPI()@app.get('/')def index(request: Request): client_host_ip = request.client.host return {"ip": client_host_ip}
2021-12-31 10:02:45 3922
原创 Django初始化数据库
部分业务场景在启动Django框架的时候需要在数据库中生成指定账号,可以使用post_migrate信号实现初始化数据库操作python3 manage.py migrate–调用migrate之后,django会发起post_migrate信号,数据库基础数据的初始化可以写在里面具体操作:在app目录的app.py中增加如下from django.apps import AppConfigfrom django.db.models.signals import post_migrate
2021-12-23 10:50:13 2972
原创 Fastapi 日常踩坑
1. 报错:fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that extra={} is a valid pydantic field type报错原因:代码中查询参数类型未规定,检查代码修改为 q: str=Query(None)问题解决
2021-12-13 11:28:34 2684
原创 nginx中内置的全局变量
$args 这个变量等于请求行中的参数,同$query_string$content_length 请求头中的Content-length字段。$content_type 请求头中的Content-Type字段。$document_root 当前请求在root指令中指定的值。$host 请求主机头字段,否则为服务器名称。$http_user_agent 客户端agent信息$http_cookie
2021-12-10 10:39:47 1898
原创 Ubuntu20.04安装go
下载go压缩包 https://go.dev/dl/使用root 或者其他sudo用户安装,下载并且解压二进制文件到/user/localwget -c https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local调整环境变量切到普通用户 vim ~/.profileexport PATH=$PATH:/usr/local/go/binsource ~/.profile..
2021-12-09 17:20:24 895
原创 fastapi服务修改为https
uvicorn 默认是httpubuntu系统中安装mkcert# 安装相关依赖sudo apt-get updatesudo apt install wget libnss3-tools# 下载mkcert可执行文件wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.3.0/mkcert-v1.3.0-linux-amd64# 将可执行文件赋权并放至/usr/local/bin下chmod
2021-12-09 17:18:06 4897
转载 django http转换为https
django 默认的runserver使用的是http协议pip3 install django-extensionspip3 install django-werkzeug-debugger-runserverpip3 install pyOpenSSL配置settings文件 在INSTALLED_APPS下添加‘werkzeug_debugger_runserver’,‘django_extensions’,在终端使用命令运行python3 manage.py runs.
2021-12-08 14:26:04 304
原创 Django 运行时出现 RecursionError: maximum recursion depth exceeded
新建Django任务时,直接将主目录下的urls拷贝到app里面没有删掉部分代码,特此记录一下
2021-11-28 10:10:54 1614 1
原创 shell小知识
拼接字符串并执行a="ps -ef |"b="grep xxx"eval ${a} ${b} # 相当于执行了 ps -ef | grep xxx去掉字符串最后一个字符str="abcdefg"echo ${str%?} # --> abcdef
2021-11-25 11:04:57 104
原创 shell中创建数组并循环读取
#!/bin/bash# 定义一个数组array=()# for 循环往自定义数组增加数据for((i=1;i<=5;i++))do # 往数组里面加数据 array[${i}]=${i}done# 遍历数组for num in ${array[*]}do echo $numdone
2021-11-24 15:08:50 1548
原创 Django实现简单页面弹框
使用django自带的messages首先确保setting.py文件中APP注册部分存在这个库在项目中导入使用前端页面代码效果展示参考原文
2021-11-19 11:42:14 3542
原创 python运算符 >>、<<
位移运算符x << y # 等同于 x*(2**y)x >> y. # 等同于 x/(2**y)"""48 >> 248的二进制值为"110000",将48二进制整体向右移动2位变成"001100",计算得到的值为2**3+2**2--> 12"""
2021-11-11 11:34:03 1285
原创 ubuntu20.04 redis安装
安装sudo apt install redis-server检查服务状态sudo systemctl status redis-server# 查看redis进程ps -ef | grep redisredis配置文件/etc/redis/redis.conf修改配置文件之后需要重启redis使配置生效
2021-11-09 15:35:07 895
原创 python中的dict与json、yaml相互转换
dict to jsonimport json# json.dumps() 是把python对象转换成json对象的一个过程,生成的是字符串。 s理解为 str# json.dump() 是把python对象转换成json对象生成一个fp的文件流,和文件相关。dict_1 = {'a': 1, 'b': 2} # {'a': 1, 'b': 2} type(dict_1) --> <class 'dict'>json_1 = json.dumps(dict_1) # {"a
2021-11-05 17:04:48 1234 1
原创 解决Django设置debug=False静态文件获取不到的问题
debug设置为False之后,static目录中的静态文件找不到,plugins目录是有的解决办法:1.修改settings.py文件STATIC_URL = '/static/'STATIC_ROOT = 'static' ## 新增行STATICFILES_DIRS = (os.path.join(BASE_DIR, '/static/'),)2.修改url.py文件from django.views import static ##新增from django.conf impor
2021-09-24 14:42:49 317
原创 uvicorn 命令行启动
开启uvicorn 可以使用两种方式:一、run方式uvicorn.run()二、命令行方式uvicorn xxx:app --host=‘0.0.0.0’ --port=‘9999’ --reload=Trueuvicorn/main.py中使用@click.option装饰器方便地实现命令行接口通讯部分参数简单解释:–或-:参数前缀is_flag:如果为真, 那么参数只能是True或者False, 命令行中出现了就是True,没有出现就是Falsetype:类型default:设
2021-09-14 11:51:51 10327
原创 FastAPI 使用
无论是否使用async,FastAPI都会使用异步的方式处理,如果定义了async函数,函数内部使用的是同步的调用(不使用await),函数执行过程变成串行
2021-09-08 11:11:18 1156
原创 postgres镜像使用
拉取docker镜像并拉起docker pull postgres:12docker run --name postgresql --restart always -p 5432:5432 -e POSTGRES_PASSWORD=123456 -d postgres:12进入docker并操作数据库# 进入dockerdocker exec -ti `docker ps | grep postgres | awk '{print$1}'` /bin/bash# 登陆postgres数据库p
2021-09-08 11:05:34 738
原创 redis镜像操作
进入redis镜像并开启redis服务docker exec -ti 4da0128b3d32 redis-cli查看redis占用内存信息127.0.0.1:6379> info# Memory 内存占用信息查看redis内所有的key127.0.0.1:6379> keys * 查看redis内单条数据所占内存127.0.0.1:6379> MEMORY USAGE 27b45633-870e-4897-931c-b988a9ceedfa...
2021-09-02 17:16:02 468
原创 uvicorn reload-dir参数
# 目录结构.├── A│ └── a.file├── B│ └── b.file├── C│ └── c.file└── start.py需求:使用fastapi框架起服务会用到uvicorn,现在有一个需求只想a.file内代码变动会重新加载,b.file或者c.file内文件内容修改不重新加载解决办法:uvicorn start:app --reload --reload-dir A详情可以参照uvicorn官方文档...
2021-08-26 14:10:27 1738
原创 python操作excel
from openpyxl import load_workbookwb = load_workbook(config_path)ws = wb['Sheet1'] # 获取sheet页名为Sheet1的标签页ws['A'] # A列的所有元素 为元组对象# 遍历元素for item in ws['A']: value = item.value #A列的每个值 rowNum = item.row #所在行数 ws.delete_rows(item.row) #删除第几行ws.app
2021-08-20 17:25:41 107
原创 前端相关知识
1.bootstrap table文字居中 <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css"> <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1-dist/js/bootstrap.js"> <style> <!-- 添加如下-
2021-08-19 17:05:32 220
原创 centos6 中 pip3安装No matching distribution found for xxx 问题
问题描述利用docker安装的pip3(版本3.6)安装python模块会出现No matching distribution found for xxx的ERROR,在这之前还有一段WARNINGpip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.解决方案修改python安装包源文件进入python安装包的路径...
2021-08-11 16:52:37 2684
原创 ubuntu安装gitea及相关操作
1.4.0版本:wget -O gitea https://dl.gitea.io/gitea/1.4.0/gitea-1.4.0-linux-amd64https://blog.csdn.net/slimmm/article/details/108992087
2021-08-06 14:33:19 1063
原创 U盘安装ubuntu20.04并优化
U盘作启动盘安装ubuntu20.04ubuntu20.04桌面版官方镜像下载地址:http://releases.ubuntu.com/20.04/将下载完的镜像放至U盘中,并解压至U盘。重启电脑,在进入到开机启动页面的时候,进入到bios界面,选择U盘进入,依次安装,详细安装步骤安装完Ubuntu后,需要更换一下国内镜像源编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前请做好相应备份):deb http://mirrors.aliyun.com/ubunt
2021-07-13 10:05:16 1026
原创 django celery 使用
阻塞高风险 分布式任务调度系统Celery 是一个简单,灵活且可靠的,处理大量消息的分布式系统,他是一个专注于实时处理的任务队列,同时也支持任务调度broker 消息传输的中间件,生产者一旦有消息发送,将发送至broker (rq redis)backend 用于存储消息/任务结果,如果需要跟踪和查询任务状态,则需要添加相关配置worker 工作者 消费/执行broker中消息/任务的进程 —》持续盯着broker中是否有活,会自动拿到任务celery 实时反馈不行 无法确定消费者干活的时间#
2021-07-06 10:57:07 478 1
转载 Supervisor管理服务,实现异常死亡进程自动重启
一.Supervisor基础介绍1.supervisor是什么supervisor是用python语言开发的一个进程管理工具,官方介绍说: Supervisor: A Process Control System,Supervisor是一个客户端/服务器系统,允许其用户监视和控制类UNIX操作系统上的许多进程1.supervisord服务器主进程名为supervisord。它负责在自己的调用中启动子程序,响应来自客户端的命令,重新启动崩溃或退出的子进程,记录其子进程stdout和stderr 输出,
2021-07-06 09:52:18 2131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人