自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dangsh_的博客

dangsh's

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

原创 python3 scrapy css选择器(Selectors) 用法

想优化一下刚刚写的爬虫,改一下Selectors 去看文档 眼花缭乱 ,所以想在这里总结一下Selectors 的简单用法, 不扯别的,就是学会用 ,简单粗暴的学会用法 我们不如还拿拉勾网实验可好 滑稽.jpg https://www.lagou.com/zhaopin/Java/打开这个页面,国际惯例F12 看到了网页的源代码,我们想从这个里面取到需要的数据,就用到了选择器相信用到S

2017-11-23 18:54:44 33596 6

原创 NVM 安装及使用

然后需要手动在nvm解压的目录下新建一个 settings.txt,以下格式。首先添加两个变量,分别是刚刚nvm解压的路径,和当前node安装的路径。1.安装指定版本的node: nvm install 版本号。然后编辑path变量,把刚刚的两个加进去,并且保存。下载后放在一个【没有中文】的文件夹下,解压。缺少settings可能会这样报错。path是当前使用node的路径。root 是nvm解压路径,我使用的是解压版,免安装。github下载压缩包。然后需要配环境变量,这样就是安装成功了。

2023-10-26 15:55:44 180

原创 vue inpute textarea 支持录入tab键,以及在input光标后追加内容

遇到一个需求需要在textarea中支持tab键的输入但是在浏览器中,默认tab键是自动聚焦在下一个可以聚焦的元素上思路如下:input中接收到tab键时,阻止默认事件在input中获取到光标位置,在后面加一个 \t 制表符input获取焦点代码如下<el-form-item label="活动名称"> <el-input id="myinput" type="textarea" v-model="form.content" :auto

2021-07-05 15:40:58 1528 3

原创 富文本编辑器 vue-quill-editor使用(新增,展示,修改,添加附件相关)

之前由于自己也只是粗浅的使用,以为没有太多人和我一样用到它有一些地方,就没有展开讲没想到大家用到的还挺多的,于是再展开讲解一下先看一下效果NewsAdd.vue 新增页面,可以添加附件NewsDetail.vue 展示页面NewsUpdate.vue 修改页面 获取富文本内容,然后展示,以供修改项目代码放github不太合适, 就直接粘一下了简单讲解一下逻辑editor.vue 富文本编辑器组件1.activated组件的时候,会请求接口,加载富文本内容this.quill.r

2021-03-23 14:18:03 11263 18

原创 sqlalchemy 不同数据库 相同表名model时bug解决方法 Table ‘xxx‘ is already defined for this MetaData

sqlalchemy.exc.InvalidRequestError: Table ‘portfolio_risk_data’ is already defined for this MetaData instance. Specify ‘extend_existing=True’ to redefine options and columns on an existing Table object.在两个不同数据库中有同名的表,建model的时候报这个bug加一个metadata = MetaDat

2021-02-26 13:57:01 1765

原创 element el-upload 自定义上传 限制上传文件的类型

因为默认的el-upload 用起来不舒服,于是使用自定义上传主要配置是action="#":auto-upload="false":http-request="httpRequest"在httpRequest 中,就可以自定义上传方法了accept=".pdf"设置为只允许上传pdf,只会在这里限制,用户还是可以上传别的所以需要在上传时判断文件名var testmsg = file.name.substring(file.name.lastIndexOf('.') + 1)cons

2021-02-24 19:23:43 2688

原创 vue-pdf 展示base64编码pdf,旋转 翻页 放大 缩小 下载

首先看一下是不是大家需要的效果首先安装vue-pdfyarn add vue-pdf然后写一个组件FileAdd.vue<template> <div> <el-row :gutter="24"> <el-col :span="12"> <el-form ref="form" :model="form" label-width="80px"> <el-form-item

2021-02-24 19:13:04 1006

原创 element el-table 设置行高

先给table加一个class <el-table class="tableBox" v-loading="loading" :data="tableData" height="700px" :cell-class-name="changeCellClass" style="width: 100%;"> <el-table-column

2021-02-02 15:24:02 8702 2

原创 vue el-table 表头搜索(筛选)功能 头部添加搜索icon 一个页面有多个table表格 render-header传参(四)

在同一个页面中有多个表格时,需要对父组件进行一些修改在render-header 时 多传递一个参数 来标记新的table <el-table-column prop="instrument" label="Instrument" width="190" align="center" :render-header="(h, obj) => renderS

2020-11-13 17:30:15 2389 1

原创 vue el-table 表头搜索(筛选)功能 头部添加搜索icon 点击重置按钮,重置对应字段的筛选条件(三)

如果在数据筛选时对原始数据进行操作,那么想重置该筛选条件的话,就需要重新获取数据(刷新页面)不合理,需要实现重置某筛选条件的功能。组件内部的重置按钮click方法<el-button size="mini" @click="resetData">重置</el-button>将组件input框中的数据清空, 组件改为隐藏, 修改icon颜色,触发父组件的resetChange方法resetData () { console.log('reset')

2020-11-13 17:08:20 5137 4

原创 vue el-table 表头搜索(筛选)功能 头部添加搜索icon 点击popover外时,关闭popover 自定义指令(二)

在可以点击打开后 发现和antd还有什么不一样的地方原来是在点击icon打开popover时,想关闭这个popover需要再次点击icon这很明显不合理,更合适的方法是点击其它任何区域,都会隐藏这个popover于是用到了自定义指令。在组件内部,新增一个visible变量控制是否显示,在点击外部时,设置为falsedata () { return { value: '', visible: false, iconColor: false }

2020-11-13 16:56:09 2838 6

原创 vue el-table 表头搜索(筛选)功能 头部添加搜索icon 点击显示popover 阻止在字段排序(一)

使用elemen的render-header 在funcion中 用createElement 创建虚拟DOM。首先创建SelectHeader.vue组件由于element内置icon的search长这样 太丑,我找了个合适的需要注意的使用的element内置的排序sortable 那么在点击整个表格头部区域时 都会触发排序故在点击搜索icon的时候也会排序,影响体验,需要阻止这个排序用@click.stop=“popClick” 来阻止默认的排序<template> &l

2020-11-13 16:42:38 5849 6

原创 vue el-table 表头搜索(筛选)功能 实现分析(零)

重点: 先看一下最终的实现效果 如果是你想要的 就可以看下去~分割线由于公司一部分业务是antd写的,一部分是element写的antd的table内置了搜索功能,像下面这样但是element中只内置了如下的筛选功能虽然可以用下面的自定义表头实现相应功能但是用起来不是太优雅,而且在字段较多的时候不合适,故决定自己实现一下我是后端开发,有哪里写的不合适,还望指正,先行谢过~首先罗列一下各项步骤在el-table 头部添加 搜索icon,点击icon出现popover。(可选

2020-11-13 15:23:03 7240 4

原创 vue element popover input focus() 不生效 解决办法

popover中有input但是在点击触发popover时,input未获取到焦点需要手动点击才能输入,效果如图影响用户体验, 需要改进一下首先想到的方法是 给el-input 添加ref,获取后调用focus()<el-input placeholder="请输入内容" v-model="value" clearable @keyup.enter.native="confirm" ref="sInput" >t

2020-11-13 11:35:48 5443

原创 Vue Highchart 数据修改时 时间选择轴重置 setExtremes

像这种 默认选择AP当修改series的数据,图改变时下方的时间默认是之前的时间,影响用户体验。只需要在修改series后,获取到char组件,调用setExtremes方法即可 this.$refs['prop1'].chart.xAxis[0].setExtremes(null, null)...

2020-11-05 15:05:50 369

原创 Vue定时器轮询 及 销毁定时器

项目中我们经常需要实现轮询每隔几秒请求一次接口刷新数据一般都会使用setInterval,但要注意单纯使用它可能导致页面卡死原因是setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,卡死。但是setTimeout是自带清除定时器的所以可以叠加使用window.setInterval(() => { setTimeout(fun, 0)}, 1000)在需要结束轮询,或者beforeDestroy生命周期函数中 销毁定时器clearInterval(th

2020-09-22 11:56:09 2438 1

原创 修改element 组件的样式 el-transfer修改宽度

el-trandfer 默认宽度是200px在内容较长的时候,无法展示完全需要修改该组件的宽度处理方法是采用定位组件的方法,通过组件外层的class或id定位,使用 >>> 进行样式穿透。在el-transfer 外套一个div class为edit_dev <div class="edit_dev"> <el-transfer v-loading="transLoading"

2020-09-18 18:20:42 11234 3

原创 pandas 常用操作 group apply sum filter concat 调整列顺序

项目里计算量较大 需要用pandas算 这里记录一下常用操作import pandas as pd# 常用配置pd.set_option('mode.chained_assignment', None)# 显示所有列pd.set_option('display.max_columns', 500)# 显示所有行pd.set_option('display.max_rows', 500)# # 设置value的显示长度为100,默认为50pd.set_option('max_colwidt

2020-09-01 19:06:59 851 1

原创 Flask sqlalchemy 分表实现 及 相关操作

业务需求 如果单表的数据量过大 需要分表操作以下是个人的用法 以及操作希望有错误的地方 大家指出来有更优方法的朋友可以不吝赐教先行谢过~from api.extensions import dbclass XoTree(object): _mapper = {} @staticmethod def model(conf_id): class_name = 'xo_tree_%s' % conf_id ModelClass = XoTr

2020-09-01 18:50:07 1191 1

原创 centos psycopg2 ImportError:undefined symbol: PQconninfo 解决方案

centos7下导入psycopg2 的时候报错ImportError: /home/dfcadmin/.pyenv/versions/3.6.2/lib/python3.6/site-packages/psycopg2/_psycopg.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PQconninfo装一下这个包即可pip install psycopg2-binary...

2020-07-24 15:21:42 2759

原创 windows python3.7 celery 出现的各种问题解决方案

首先描述问题celery 4.+ 号称不支持windows,所以我用了celery 3.+但是问题在于我的python版本用的是3.7在python3.7+的版本中,async成为了关键词所以celery3.+ 版本就会报一个async的错误其实celery 的开发者已在新版本中修复了这个问题套娃了由于我不想改python的环境所以我只能顶着bug用celery4.+我选择的是 celery4.3pip安装指定版本即可pip install celery==4.3就解决了async

2020-07-24 10:52:40 1192 1

原创 python 时间 时间戳 相互转换 自用方法

获取当天import datetime >>> datetime.date.today().strftime("%Y%m%d")'20200716'>>> datetime.datetime.now()datetime.datetime(2020, 7, 16, 14, 49, 33, 127588)>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')'2020-07-16

2020-07-16 14:53:26 297

原创 python itertools groupby 以及itemgetter 使用

from operator import itemgetterfrom itertools import groupby源数据为这样_ = [{'conf_id': 4, 'username': '.zhang'}, {'conf_id': 10, 'username': '.zhang'}, {'conf_id': 4, 'username': '.wang'}, {'conf_id': 17, 'username': '.zhang'}]想根据conf_id 分组首先需要根据

2020-07-16 14:25:35 563

原创 Element Vue el-table组件内容的千位分隔

实现功能如:后端返回1234表格中显示为1,234贴一下官方文档地址https://element.eleme.cn/#/zh-CN/component/table在官网中这样提到<el-table-column prop="address" label="地址" :formatter="formatter"> </el-table-column>methods: { formatter(row, column

2020-07-13 11:52:28 3309

原创 sqlalchemy 原生sql查询 返回字典形式数据

在原生sql查询的时候,返回一个list,内部是tuple一般人会选择用下标取其中的数据这并不优雅results = db.execute("SELECT * FROM book limit 1")查询结果是一个list,在这个list中包含着许多 tuple,他们看似是tuple,实则并不是而是一个特殊的类型"<class ‘sqlalchemy.util._collections.result’>"这是一个 AbstractKeyedTuple 对象它拥有一个 keys(

2020-07-06 14:38:53 4870

原创 sqlalchemy 无primary_key 时报错 解决办法 could not assemble any primary key columns for mapped

在大部分表中都会有个自增的id可以作为pk,就不会出现这个问题。但是在某些表中没有自增id,但是sqlalchemy又必须指定一个pk否则会报以下错误sqlalchemy.exc.ArgumentError: Mapper mapped class PortfolioPnl->eod_portfolio_pnl could not assemble any primary key columns for mapped table 'eod_portfolio_pnl'这里可以参考官方文档的

2020-07-06 10:07:21 8425 3

原创 Not allowed to navigate top frame to data URL,前端页面打开新窗口预览base64数据遇到的问题解决

需求是附件上传功能,实现方式是将文件的base64存入库中,在需要下载的地方获取这个base64前端框架用的vue在下载这个base64文件的时候是没有问题的<a :href="en.content" :download="en.name">{{ en.name }}</a>但是如果想跳转新页面打开这个base64,会报以下错误<a :href="en.content">{{ en.name }}</a>原因是Chrome出于安全考虑,禁止

2020-06-18 09:54:19 7528

原创 富文本编辑器 vue-quill-editor入门(使用,显示,表格支持)

首先贴一下官方文档http://doc.quilljs.cn/1409423以及我参考的 很好的 一篇文章(在此表示感谢)https://segmentfault.com/a/1190000019606714然后是我的最终效果其中红框1部分是插件自带的一下功能,我删除了一些不常用的(你们可以根据自己需要定制)红框2部分是需要自己做的表格功能, 图标可以选择自己想用的svg由于我不是专业前端,所以在项目中如何引入quill就不做赘述了,主要是提一些容易踩坑的点先放一下代码 需要参考的大佬自取

2020-06-12 18:27:18 26210 43

原创 Highcharts vue时间少8个小时

Highcharts vue时间少8个小时在vue项目中用到highcahrts 的时候,接口传来时间戳,但是highcharts自动转换为时间格式的时候少了一天我想要的结果是这样2020-05-25,时间戳也没错,但是highcharts 却转换成了2020-05-24 16:00:00少了8个小时。原因是highcharts默认使用UTC时间(这一点在官方文档有说明)https://api.highcharts.com.cn/highstock#global.useUTC样例中但是在

2020-06-05 11:50:40 518

原创 python 获取一段时间内,每个月的第一天和最后一天

业务中用到了,记录一下import pandas as pdbeginDate = '2018-08-01'endDate = '2019-03-31'date_index = pd.date_range(beginDate, endDate)days = [pd.Timestamp(x).strftime("%Y-%m-%d") for x in date_index.value...

2019-09-06 14:51:00 6768

原创 mac 电脑出现问题而重新启动 / 五国问题 解决方案

早上打开电脑,散热风扇声有点大(记住这一点,后面有用)然后电脑居然黑屏了,用5种语言显示电脑出现问题而重新启动 请按一下按键 或等几秒钟以继续启动大概长这个样子,然后网上疯狂找资料找到解释是:所谓五国问题是指MAC OS系统出现重大系统问题而死机的状态,相当于WINDOWS的蓝屏;因为此时屏幕会变暗,并且出现拥5国文字描述的大致意识为“请重新启动计算机”的字样,因此被称为五国问题。...

2019-09-05 17:22:09 42783

原创 django1.4.22 使用 mongoengine 和遇到的一些问题

首先mongodb不是django官方推荐使用的数据库但是总有一些人想用mongo,于是有了mongoengine先pip安装pip install mongoengine然后在settings中修改(有的文章没有指定host和port)DATABASES = { 'default': { 'ENGINE': None, }}from mongoe...

2019-04-27 10:08:19 483

原创 centos 安装redis参考文章

安装https://www.cnblogs.com/renzhicai/p/7773080.html配置允许远程连接http://www.mamicode.com/info-detail-2226760.htmlhttp://www.cnblogs.com/jinjiyese153/p/8600855.html记得修改配置后重启一下...

2019-02-19 15:24:25 119

原创 解决 You should rebuild using libgmp >= 5 to avoid timing attack vulnerability. (升级GMP)

在一台新的centos6.7开发机,配置完环境后运行django项目如下报错原因是:在Centos6.7系统中自带GMP version 4,但是一些应用如PyCrypto需要使用GMP &amp;amp;gt;= 5。需要进行以下处理yum -y groupinstall &amp;quot;Development tools&amp;quot;yum -y install gcc libgcc glibc libffi-devel l...

2019-01-14 21:28:39 1472

原创 2018 12 25 ant design 按钮 雪堆 圣诞节彩蛋

今天正在写钉钉自建应用相关功能。突然小伙伴发了个我们项目的页面给我,让我看bug,如下什么鬼,但是仔细一看,是雪堆?难道是圣诞节彩蛋,而且,刚刚似乎见到过?翻来覆去找,终于然后跑去ant design 的官网然后还发现了一位大胸弟90天前看到的彩蛋,https://www.v2ex.com/t/490917#;截止2018.11.27 ant design 的官网已修复...

2018-12-25 11:28:26 4883

原创 pyspark 将rdd 存入mysql

简单来说:将rdd存入mysql需要先将rdd转为dataframe,然后将dataframe存入mysql以下是例子相关配置不做赘述首先需要拥有一个rdd , 我的rdd长这个样子然后把rdd转成dataframefrom pyspark.sql import Rowemp = rdd.map(lambda p : Row(url=p))df = spark.createData...

2018-10-23 18:48:01 2896

原创 python3 使用requests爬取 双色球所有中奖号码,并使用pandas+matplotlib 进行分析

首先需要写一个爬虫将双色球开奖数据抓下来,找到了这个网站 http://datachart.500.com/ssq/ 默认只显示最近30期的中奖号码 找到网站的所有中奖号码接口, http://datachart.500.com/ssq/history/newinc/history.php?start=00001&amp;end=18081 用浏览器打开是这个样子的 中文乱码了...

2018-07-17 17:21:44 10926 3

原创 appium python 解决 'WebElement' object does not support indexing 问题

在测试登录微信的时候,密码框是没有id的,所以我选择通过class查找,代码如下el5 = driver.find_element_by_class_name("android.widget.EditText")[1]在运行以上代码的时候,报了一个这样的bug 'WebElement' object does not support indexing解决方案是el5 = dri...

2018-05-30 11:06:58 10805 11

原创 python spark RDD randomSplit 参数解释与使用详解

randomSplit(weigh , *seed):参数:1. weights: 是一个数组 根据weight(权重值)将一个RDD划分成多个RDD,权重越高划分得到的元素较多的几率就越大。数组的长度即为划分成RDD的数量,如rdd1 = rdd.randomSplit([0.25,0.25,0.25,0.25])作用是把原本的RDD尽可能的划分成4个相同大小的RDD 需要注意的是weigh

2018-05-04 14:56:19 16720 3

原创 解决 pip install pyquery 失败 报错 got an unexpected keyword argument 'transport_encoding'

pip install pyquery的时候报错如下:TypeError: parse() got an unexpected keyword argument 'transport_encoding'只需要执行以下代码就好了conda install pip再次pip install pyquery 成功了

2018-04-11 15:20:22 2005

空空如也

空空如也

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

TA关注的人

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