升级Python全栈股票系统,使用vueadmin快速开发
#头条创作挑战赛#目录前言0,关于Python全栈股票系统2.0,github,5.8K星星1,Python全栈股票系统,更改使用elementUI开发2,使用vue-element-admin,进行开发3,解决python tronado 和vue 跨域问题4,总结vue也很方便前言
使用Python开发一个web股票项目。
【github项目地址】:
https://github.com/pythonstock/stock
【知乎专栏地址】:
https://zhuanlan.zhihu.com/pythonstock
【相关stock资料分类】:
http://blog.csdn.net/freewebsys/article/category/7076584
主要使用开发语言是python。
使用的lib库是pandas,tushare,TensorFlow,tornado等。
项目之前使用的jQuery, dataTable 进行股票数据展示,实现了动态 table,现在是时候放弃jQuery了,修改成vue,开发股票系统展示分析界面,选择了vue-element-admin。
并展示了股票的相关数据字段,还是非常方便快速的。0,关于Python全栈股票系统2.0,github,5.8K星星有些同学可能不知道,项目地址:https://github.com/pythonstock/stock PythonStock V2 是基于Python的pandas,akshare,bokeh,tornado,stockstats,ta-lib等框架开发的全栈股票系统。 项目创建于2017年7月17日,每月不定期更新。 1)可以直接使用docker直接本地部署运行,整个项目在docker hub上压缩后200MB,本地占用500MB磁盘空间。 2)使用Docker解决了Python库安装问题,使用Mariadb(MySQL)存储数据。借助akshare抓取数据。 3)使用cron做定时任务,每天进行数据抓取计算,每天18点开始进行数据计算,计算当日数据,使用300天数据进行计算,大约需要15分钟计算完毕。 4)股票数据接口防止被封,按天进行数据缓存,储存最近3天数据,每天定时清除,同时使用read_pickle to_pickle 的gzip压缩模式存储。 5)使用tornado开发web系统,支持每日股票数据-东财,龙虎榜-个股上榜-新浪,数据中心-大宗交易行情等。 6)数据展示系统,是通用数据展示系统,配置字典模板之后,页面自动加载数据,并完成数据展示,后续自己开发的指标数据可以加入进去。 7)增加曲线数据分析,在查看股票中,可以直接跳转到东方财富页面查看相关信息,点击指标之后使用Bokeh将多达 17 个指标的数据绘图,进行图表展示。 8) 2.0 最大的更新在于替换tushare库(因部分库不能使用),使用akshare进行数据抓取。
基础库版本 1,pandas使用【 1.3.5 】版本,升级了 2,numpy使用【 1.21.5 】版本,升级了 3,akshare使用【 1.3.50 】版本,升级了 4,bokeh使用【 2.4.2 】版本,升级了 5,stockstats使用【 0.3.2 】版本 1,Python全栈股票系统,更改使用elementUI开发
首先要修改界面,使用vue+elementUI开发股票系统的界面。
终于要和 jQuery说再见了,需要把动态表格的UI重新设计下。
最主要的数据展示使用的是dataTable 组件进行开发的,很多接口都和dataTable 强耦合。
那个也是JQuery时代,不错的报表展示。但是现在使用VUE应该也能很轻松的做了相关的数据展示。 2,使用vue-element-admin,进行开发
https://github.com/PanJiaChen/vue-element-admin
项目使用文档:
https://panjiachen.github.io/vue-element-admin-site/zh/guide/
还有作者的招聘广告呢,作者在字节工作:
为什么选择广告行业?
广告变现对于很多互联网公司来说是非常重要的变现方式,属于核心领域且发展持久,是全世界互联网公司最主流的收入来源,也成为顶尖人才的汇聚之地。前沿技术首先应用于广告行业,使其成为一个高投入高回报的领域。在这里你可以获得广阔的成长空间,大牛的辅导,实践应用科技行业的各类最新技术。
广告业务相比 C 端业务具有更高的业务壁垒,可以更好地积累自己的业务方向的竞争优势。后续职业生涯的发展,走技术专家路线能走出成绩走出深 度的毕竟是少数,那么自己的竞争力如何构建?深入某个具有足够深度和壁垒的业务方向业务是个可行的方案。大流量(亿级),高并发,复杂系统架构设计,智能算法设计,复杂广告场景等,都可以施展技术提供用武之地。
直接使用模板创建git项目:
https://github.com/PanJiaChen/vue-admin-template
但是几年前的项目,增加了依赖没有起来: ERROR Failed to compile with 9 errors 23:03:47 These dependencies were not found: * core-js/modules/es.array.push.js in ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js, ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumb/index.vue?vue&type=script&lang=js& and 3 others * core-js/modules/es.error.cause.js in ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js, ./src/utils/request.js and 1 other * core-js/modules/es.object.proto.js in ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js To install them, you can run: npm install --save core-js/modules/es.array.push.js core-js/modules/es.error.cause.js core-js/modules/es.object.proto.js
尝试了重新安装 core-js 成功了: rm yarn.lock rm -rf node_modules/core-* npm install core-js --save
原来只要升级下 corejs 版本就可以 "core-js": "^3.26.1",
然后admin 界面就跑起来了。
然后开始学习代码,开发动态股票报表功能。
把这个数据展示页面修改成股票动态数据,这个界面和股票数据展示界面一致。
3,解决python tronado 和vue 跨域问题
首先在 python 当中,需要配置baseController head 参数,其中 origin 要动态获得。 #基础handler,主要负责检查mysql的数据库链接,解决跨域CORS问题。 class BaseHandler(tornado.web.RequestHandler): def set_default_headers(self): headers = self.request.headers # logging.info("head的类型:",type(headers)) origin = headers.get("origin",None) logging.info("######################## BaseHandler ########################") logging.info(origin) if origin != None and origin.find("localhost") > 0: self.set_header("Access-Control-Allow-Credentials", "true") self.set_header("Access-Control-Allow-Origin",origin) self.set_header("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE, OPTIONS") self.set_header("Access-Control-Allow-Headers", "x-token, authorization, Authorization, Content-Type, Access-Control-Allow-Origin, Access-Control-Allow-Headers, X-Requested-By, Access-Control-Allow-Methods") self.set_header("Access-Control-Expose-Headers", "Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma") # 同时定义一个option方法 def options(self): self.set_status(204) self.finish()
同时前端也要修改配置: // create an axios instance const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url withCredentials: true, // send cookies when cross-domain requests timeout: 5000 // request timeout })
然后修改分页的数据格式:
增加返回状态: { "code":20000, "message":"success", "draw":0, "total":139907, "recordsTotal":139907, "recordsFiltered":139907, "data":[ { "code":"000001", "name":"平安银行", "latest_price":"17", "quote_change":"-2.35", "ups_downs":"-0.41", "volume":"1502164", "turnover":"2561266416" ....... } ] }
然后修改vue 代码即可: {{ row.date}} {{ row.code }} ...... ...... getList() { this.listLoading = true fetchList(this.listQuery).then(response => { this.list = response.data this.total = response.total // Just to simulate the time of the request setTimeout(() => { this.listLoading = false }, 1.5 * 1000) }) }, 4,总结vue也很方便
目前股票系统,迁移使用 vue 做界面,正在开发中。
只是把一个股票数据进行展示的,但是需要研究下动态表单的方法。之前是通过 html 页面循环属性的方式的。
这个需要再开发一个接口,返回要展示的属性。也不难。慢慢开发吧。
对生命好人坏人有了疑惑,问书问佛问自己后,我顿悟了年少的时候,看见家里来了客人很是高兴,因为母亲会杀鸡来款待客人,自己就有肉可以吃。对食肉的快乐,用言语和行动来表达,欢呼雀跃。年轻的时候,看见屠户在市场上宰杀兔子,将兔皮从血淋淋的
生命太短,没时间留给遗憾若不是终点,请微笑一直向前生命太短,没时间留给遗憾。若不是终点,请微笑一直向前。拥有逆境,便拥有一次创造奇迹的机会。我在时光里享受温暖,我在流年里忘记花开。大海因为波澜壮阔而有气势,人生因为荆棘坎坷而有意义
致敬梁启超这个司法总长不简单,生命不息,办报不止最近,在西瓜视频上看到,中国人民大学国际关系学院金灿荣教授谈及梁启超,说他是个了不起的人物,子女个个都成才。早年,在上海,我也听北京大学中文系夏晓虹教授(写过专著觉世与传世梁启超的
强势美元之下,低收入国家民众为生计发愁,埃及有家庭让女儿当妓女文丨关珺冉编辑丨漆菲暴风雨正在袭来!这是国际货币基金组织(IMF)在10月发布的世界经济展望报告中的开场白。作为当今世界主要流通货币,美元在全球贸易往来中占据主导地位,更是全球大多
纪伯伦的经典语录,振奋人心值得摘抄01。我们已经走得太远,以至于忘记了,为什么而出发。适用主题不忘初心等02。如果你歌颂美,即使你是在沙漠的中心,你也会有听众。适用主题赞美向善等03。在人的幻想和成就中间有一段空间
致歉过往上学时期追求的同学,经过二十多年的光阴,对方人老珠黄,你心已然木石。这一刻,你才发现,你喜欢的,不是对方的人,而是对方年轻时的容颜。你的厌弃,说明了过往的喜欢多么不经推敲。比对方老
千万不要为了刻意合群而放弃自己人的一生是短暂的,最重要的是来生活的。在我们成长的过程中,很多时候,我们可能会遇到与群体不同的意见。有时候,我们可能会为了某种认可而放弃自己加入团体。但是,这样的融合并不一定会让我
暹粒购物(30)201818游览过市区中心皇家公园和附近姐妹庙王宫,今天正式内容的游程已是基本结束,午饭后开始购物活动。中午吃饭地方是在一座气派的庄园之内,庄园中有富丽堂皇的红顶白墙豪华楼房,有目视足够二分之
大庙沟的关锁在商南县过风楼镇千家坪村有个地方叫大庙沟,那里有3个村民小组,居住着30余户200多人。大庙沟因龙王庙而得名,因大古树而出名,大古树就长在大庙沟的关口处,沟里人都称它为关锁。据悉,
漠河亲历白夜郑世骥行游山水之三原创郑世骥作者在加格达奇留影早在上小学的时候,我就被语文课本里那首从漠河到曾姆暗沙,从东海之滨到帕米尔高原的优美诗句所打动。从那以后,漠河曾姆暗沙东海之滨帕米尔高原,就已深深刻在我
色达五明佛学院色达全景四川甘孜是个人杰地灵的地方,也是神明常驻之地,有很多美丽的传说与故事!今天我们来讲讲近几年热门的色达佛学院五明佛学院!五明佛学院我认识的五明佛学院是坐落在群山环抱中的!三面