- 博客(38)
- 问答 (25)
- 收藏
- 关注
原创 用python的zerorpc写一个生成雪花ID的rpc服务
整个都是从pysnowflake里面复制出来的,pysnowflake可以启动一个http服务,我以前一直都用这个服务的。这里只是将http服务变成rpc服务。
2023-10-20 15:35:36
823
原创 用python的zerorpc写一个验证码的rpc服务
想指定pillow生成图片的文字大小,就要一起指定文字的字体,默认只搜索系统的字体,我手动添加了一个自定义目录到搜索范围内。这个函数是从pillow里面复制出来的。
2023-10-20 15:30:34
178
原创 自定义右键点击指令vue3
想在标签上实现右键菜单,结果naive-ui的tags不支持这个操作。本来用的是自己写的div标签,这样可以响应右键菜单,昨晚突然想到可以用指令来实现,于是自定义了这个指令。
2022-07-21 14:17:06
1315
原创 我的VUE3的axios封装
组件创建一个ref属性,控制局部的loading状态,将这个属性传入axios实例中,在请求开始的时候,设置为true,请求结束后,设置为false。
2022-07-13 21:37:11
611
原创 自定义穿梭框
一、前言穿梭框普遍都只显示一个字段,想显示多个字段,需要自己用表格搭建,我就是这么干的。二、element ui vue2代码<template> <div class="rongqi"> <div class="transtable"> <div> <div style="display: flex;"> <el-input v-model="leftinput" siz
2022-04-27 14:52:54
2898
原创 python合并有序字典OrderedDict
import collectionsfrom itertools import chainfrom collections import OrderedDicta = OrderedDict([('a', 1), ('b', 2)])b = OrderedDict([('c', 1), ('d', 2)])e = OrderedDict(chain(a.items(), b.items()))print(e, a, b)a.update(b)print(a)d1 = collectio
2022-04-21 22:12:02
864
原创 简易滚动数字
一、前言没什么好说的二、代码<template> <div class="flex"> <div class="w-36px h-36px overflow-hidden border border-gray-600 mx-3px" v-for="(item1,index1) in basevalue" :key="index1 + 'base'"> <div class="w-36px h-36px leading-
2021-12-20 17:29:57
408
原创 前端拖动导致触发点击事件的bug
一、原理看别人都是判断初始位置和最终位置之间的距离差值,感觉不好用,我是计算拖动函数触发几次来判断是拖动还是点击二、代码// 函数部分const tuodong = (e) => {// 初始化次数 let num = 0 document.onmousemove = (e) => { // 触发拖动函数,次数+1 num += 1 // 我用的是vue,直接构造style,名字不重要,就是tyle classlist.value = {left: (x
2021-12-09 14:30:11
910
原创 适用于vue3的复制指令
一、前言明说吧,我完全复制的v-clipboard,自己想太麻烦了。原版的不支持vue3,我就改造了一下,仅此而已。二、代码function SpellCheckMain(app, options) { // let checkerId = 0; // 定义初始数字,在创建新标签的时候用 const cssText = 'position:fixed;pointer-events:none;z-index:-9999;opacity:0;' let result =
2021-10-08 15:26:44
1020
原创 vue3自定义封装popover组件
一、前言根本没有思路,完全是照搬其他大神的成品。十分汗颜思路来源二、代码/**设计思路*/<template> <div class="relative" ref="popoverref" @focus="getfocus" @blur="losefocus" v-click-away="closepop"> <!-- 冒泡插槽--> <div v-if="visible" ref="contentref" class="ab
2021-09-13 15:55:45
2650
4
原创 vue项目部署的git钩子
一、前言在服务器上启动一个web服务,当git仓库被push的时候,git仓库会向这个服务发送一次post请求。web服务在收到请求后,自动执行拉取,创建容器,启动容器的操作。二、代码这是用python写的tornado服务。"""启动服务,收到指令时,拉取码云上的代码"""import jsonimport osimport subprocessimport tornado.ioloopimport tornado.web# 代码在本地的目录cangku_path = r"/
2021-08-31 17:57:16
209
原创 vue3一个简易的轮播图
一、前言看别人做的效果不错,自己也搞一个试试二、代码<template> <div class="w-ful h-full flex justify-center items-center flex-col border border-red-300" ref="lunboref"> <div class="flex-1 w-full overflow-hidden"> <div class="h-full transition-all
2021-08-31 14:49:09
1037
1
原创 VUE的docker配置
一、目的配置好docker文件,可以一条命令启动前端容器。二、文件配置.gitignore文件只需要将dist从文件内删除即可。目的就是上传git的时候,将dist文件夹内的文件一块上传git仓库nginx.confuser nginx;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connectio
2021-08-29 19:56:39
2445
原创 motor数据库链接类
#!/usr/bin/env python3# -*- coding: utf-8 -*-from motor.motor_asyncio import AsyncIOMotorClientfrom 主体.配置 import MONGODBclass MotorObj: ''' use motor to connect mongodb as client ''' __instance = None def __new__(cls, *args, **
2021-08-17 22:52:22
223
原创 模型ORM
一、前言看别人源码写的简易ORM二、代码"""定义一个模型的基类和元类"""import asynciofrom datetime import datetimefrom typing import Dictfrom 工具.motorORM.校验异常 import FieldValidationErrorfrom 工具.motorORM.校验类 import Field, StringFieldfrom 数据库.操作 import motor_objclass ModelMet
2021-08-17 22:50:13
145
原创 自定义字段类型的验证类
一、前言都是跟别人的代码写的二、代码"""字段类型的验证类"""from datetime import datetimefrom 工具.motorORM.校验异常 import FieldValidationError, Maxlength, MinAndMaxInt, Regx, MinAndMaxFloat, EmailRegx, UrlRegxdef is_iterable(x): "An implementation independent way of checki
2021-08-17 22:48:46
2202
原创 vue3自定义input组件
一、前言这是表单组件的一部分,但现在不知道不知道如何与其他组件互动,所以只是一个简单的input组件二、代码时间:2021年8月15日14:54:21<template> <div class="w-full h-full flex flex-col justify-between items-center"> <div v-if="type!=='textarea'" class="w-full flex-1 flex justify-between it
2021-08-15 14:54:39
2082
原创 vue3.0用render创建button组件
一、前言2021年8月13日耗费一天时间按照navie-ui的button源码,自己写了一个button组件,二、代码<script>import {defineComponent,h} from "vue";import myload from "../myload/index.vue"export default defineComponent({ name: "", props:{ loading:{ default:false, typ
2021-08-13 22:13:54
1541
原创 自定义vue3.0日历组件
<template> <div class="w-full p-2"> <h1 class="w-full text-2xl font-semibold my-2 px-3 text-left h-10 leading-10">{{ nian + " " + hanziyue + "月" }}</h1> <div class="w-full flex flex-wrap justify-start items-start">
2021-07-21 17:39:09
5158
10
原创 Django和vue的RSA加密
一、前言账号密码等关键信息在传输过程需要加密,我采用强度更高的RSA加密二、环境后端:Django3.2,python3.9前端:vue3.05,node14三、后端后端使用pycryptodome这个模块,我试了好多文章的方法,都不管用,不要去管什么版本,什么C++环境,直接安装这个模块就结束了,没那么多事。pycryptodome官方文档# 虽然安装的是pycryptodome,但是使用方法都是一样的# 短文的加密解密def jiemi(neirong): # print
2021-07-18 09:28:25
3650
3
转载 Vite2 静态资源处理
Importing Asset as URL导入静态资产时,将返回解析后的公共URL:import imgUrl from ‘./img.png’document.getElementById(‘hero-img’).src = imgUrl例如,在开发阶段,imgUrl将是/img.png,而在生产版本中,它将变成/assets/img.2d8efhg.png。其行为类似于webpack的文件加载器。区别在于导入既可以使用绝对公共路径(基于开发期间的项目根路径),也可以使用相对路径。CSS中的
2021-05-14 14:59:04
3448
原创 vue3旋转图片验证
一、前言一个突发奇想的创作。二、代码<template> <el-dialog v-model="dialogVisible" width="15%" :before-close="handleClose"> <el-image :src="imageUrl" :style="xuanzhuan" class="w-full flex justify-center rounded-full overflow-hidden"&
2021-04-26 15:02:17
596
2
原创 VUE3.0自定义无限滚动组件
一、前言参考https://blog.csdn.net/weixin_26717681/article/details/108892649这个做的二、代码<template> <div class="wuxiangundong w-full text-center my-2" ref="wuxiangundong"> <i class="text-3xl" :class="loadIcon" v-if="loadstatus"></i>
2021-04-26 10:45:59
585
1
原创 vue3的滑块
前言这是复制别人的代码,源码是vue2,然后我修改成VUE3的。代码<template> <div class="jc-component__range"> <div class="jc-range" :class="rangeStatus?'success':''" > <i @mousedown="rangeMove" :class="rangeStatus?successIcon:startIcon"></i>
2021-04-19 12:13:35
863
1
原创 django3使用celery5
一、前言我百度了两天,尝试了N种方法,才搞定这东西的。二、celery的配置下载celery这个就不说了。在settings.py同级目录创建celeryCenter.py,# django项目名/django项目名/celeryCenter.pyfrom __future__ import absolute_import, unicode_literalsimport osfrom celery import Celery# 设置环境变量os.environ.setdefault
2021-04-16 16:41:20
1560
6
原创 VUE3.0表格的公共组件
一、目的一般在后台控制台之类的项目中,表格和图标是应用最多的地方,我们今天来封装一个表格的公共组件,用起来非常的简单。二、表格公共组件代码// src/components/mytable.vue<template> <el-table :data="tableData" stripe style="width: 100%"> <el-table-column v-for="col in tableConfig" :ke
2021-04-12 16:37:32
1055
原创 搭建一个获取IP所在城市的容器web服务器
目的搭建一个web服务,想这个传递一个IP地址,返回IP地址所在的国家城市。为了长久的使用,将服务做成容器,可以随意拉取、启动。一、下载文件网址先注册账号,然后去邮箱的邮件中设置密码,然后登陆,就可以下载免费的数据了,注意要下载mmdb数据。二、编写python代码这是个很简单的服务,我决定使用tornado来写,简单快捷import jsonimport requestsimport tornado.ioloopimport tornado.webfrom bs4 import B
2021-04-10 18:22:48
130
原创 Django Rest Framework读取用户IP写入数据表
日常用户提交表单我们可能会收集下用户的ip,它跟php类似,读取Meta,HTTP_X_FORWARDED_FOR和REMOTE_ADDR,一个代表真实ip,一个代表代理IP。如果没有使用DRF开发接口或者是使用DRF的mixin开发,都很容易办到,所以不要为了简便去使用viewset了用户请求数据都存放在request.data中,也就是说你要记录用户ip,将ip写入到request.data中即可,前提做好ip判断哟使用python三元运算符,有真实ip获取真实ip,没有则获取代理ipreques
2021-04-07 22:29:04
542
转载 使Celery 4在Windows上运行的2种方法
该博客文章中使用的源代码可在GitHub上找到。自Celery 4.x版本起,Celery不再正式支持Windows。尽管Celery 3确实支持Windows,但它与Celery 4不兼容。因此,如果您必须使用Windows来执行某些(一项)Celery任务,则整个基础架构都将使用传统的Celery版本。这当然是不可接受的情况。但是,即使Celery放弃了Windows支持,我仍将向您展示两个简单的解决方法,以使Celery 4在Windows上正常播放。芹菜并发池使Celery 4在Window
2021-04-07 20:08:19
1467
1
原创 vue3.0路由自动导入
一、前提我们使用的是require.context方法导入,在vite创建的项目内使用会报错"require not found",所以必须用webpack创建项目。或者有大能可以说说vite怎么解决这个问题。二、规则我们使用的规则是,搜索src/views/路径下的所有目录和子目录,搜索文件名叫做"index.vue"的文件,使用上级目录的名字作为组件名,进行注册。结构如下:和公共组件注册一样,我们只注册index.vue组件,其他名称的组件不进行注册。三、导入// src/router/i
2021-04-07 16:17:55
3602
12
原创 vue3.0自动导入vuex的子模块
一、前提我们使用的是require.context方法导入,在vite创建的项目内使用会报错"require not found",所以必须用webpack创建项目。或者有大能可以说说vite怎么解决这个问题。二、导入// src/store/index.tsimport { createStore } from 'vuex'import {StateType} from "./leixing"; // 万恶的ts需要的接口,不是vuex的子模块import VuexPersistenc
2021-04-07 15:43:16
1340
2
原创 vue3.0公共组件自动导入
一、前提我们使用的是require.context方法导入,在vite创建的项目内使用会报错"require not found",所以必须用webpack创建项目。或者有大能可以说说vite怎么解决这个问题。二、规则我使用的注册规则是,搜索src/components/路径下的所有目录和子目录,知道文件名叫做"index.vue"的文件,使用上级目录的名字作为组件名,进行注册。结构如下:只注册index.vue,其他名字的组件不注册,三、注册由于vue3.0没有import “Vue” fr
2021-04-07 15:31:15
3027
3
原创 vue3项目记录-引入必要的包
一、element-plus官方文档1.安装npm install element-plus --save2.全局引入全部组件全局引入很简单,但影响我们首屏的加载速度,要求加载的东西越少越好,所以前期我们就先全部引入,后期我们再修改成按需引入import { createApp } from 'vue'import ElementPlus from 'element-plus';import 'element-plus/lib/theme-chalk/index.css';import
2021-04-07 15:17:52
1869
原创 vue3项目记录-创建vue3项目
一、安装node1.下载node.jshttps://nodejs.org/en/download/2.安装windows系统 ,双击加一路确定下一步就行了mac,穷鬼,没用过linux,不用Ubuntu的图形界面,都是命令行界面,只用来运行程序,不会再上面编辑,运行也是用docker容器,所以不会安装二、配置淘宝镜像npm install -g cnpm --registry=https://registry.npm.taobao.org如果使用npm下载超时,就用cnpm命令,通过淘
2021-04-07 14:21:43
139
原创 VUE环境搭建和项目创建-win平台
今天是2021-04-06,vue3已经发布好久了,所以本文用的都是现在时间最新版的一、搭建node环境参考这个: node环境搭建二、安装vue脚手架Vue CLI 4.x 需要 Node.js v8.9 或更高版本 (推荐 v10 以上)。你可以使用 n,nvm 或 nvm-windows 在同一台电脑中管理多个 Node 版本。...
2021-04-06 17:09:51
238
原创 node环境搭建
JavaScript是一种解释性语言,运行在浏览器上的时候,由浏览器自带的解释器进行解释运行。不在浏览器内 运行的时候,需要node.js来进行解释运行。所以我们需要安装node环境。一、windwos端1.下载node.js官方网址一般建议下载长期支持版。如果想尝试新的特性,也可以选择下载最新版2.安装没什么,一路确定下一步就行了3.测试node默认会配置windows的环境变量,在命令行内输入 node -v,会出现node的版本号C:\Users\admin>node
2021-04-06 16:38:52
282
空空如也
vite打包ts项目报错
2021-05-25
想了好久,都不知道问题出在哪里
2020-08-13
VUE使用axios向后台回去ID不对,继续大佬帮忙
2020-08-02
vue,在方法里面定义一个错误,是字符串,结果报错不能修改。
2020-08-02
django上传图片的名字不能是中文
2020-06-24
Django如何反序列化富文本,就是那个反序列化的字段是什么?
2020-06-20
VUE的组件销毁和浏览器关闭之间有什么关系吗
2020-06-16
爬取博客的富文本内容
2020-05-19
django开启jwt认证后,提示多了一个user字段
2020-05-07
容器消失,docker重启才出现
2020-03-27
同时开三个虚拟机,第三个就不能和外网通讯
2020-03-07
ts语法在vue中的使用问题
2020-03-01
TypeScript第三方js模块的声明文件怎么写??
2020-02-29
VUE项目里使用jquery错误
2020-01-29
使用requests获取代码时,少东西
2019-11-15
Ubuntu远程桌面使用方面问题
2019-11-09
PYTHON脚本重启问题,标题长度不够
2019-08-05
pygame的精灵和精灵组
2019-05-14
测试持续按键,结果没有反应
2019-05-01
我想遍历3个表,怎么一句话实现
2019-04-19
多线程的一个标志问题,
2019-04-15
esxi网卡驱动弄不上,装不了
2019-04-02
多线程返回列表会混乱吗
2019-03-26
这个错误怎么解决,不能传整型数字吗
2019-03-07
多线程同一个程序,但只运行了一个
2019-02-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人