点击上方“Python进击者”,选择“星标”公众号

超级无敌干货第一时间推给你!!!

各位小伙伴们好,今天主要给大家推荐一个我近期遇到的一个Flask项目。为什么推荐?当然是很牛逼的才敢拿出来。

其实很多人会发现Python的web项目可能相对于Java的web项目有一个区别,虽然可能不是很明显,但是区别确实是存在的。那就是 架构 没有体现的那么明显。

例如在Flask项目中,我们只需要导入flask包,就可以称之为是一个flask项目。但是Java中就不是导一个包就能说这是一个web项目。

所以,在Flask项目中架构牛逼的项目真的很珍贵,今天给大家推荐的项目架构是我见过flask项目中架构最棒的一个!

Redash

官网:https://redash.io/

Redash是一款开源的BI工具,提供了基于web的数据库查询和数据可视化功能。

推荐给大家是因为近期我在二次开发redash的一些部分,整体的感受就是这个架构太棒了!我认为就算你不去二次开发它,但是你去了解它,看它的代码,你也会收获到很多意外的惊喜。

整个项目所涉及的一些开源技术如下:

- Python
- AngularJS
- PostgreSQL
- Redis

这个项目在gitee上也进行了开源,这里给大家链接:

https://gitee.com/mirrors/redash

这个项目是前后端分离的,如果不懂前端的朋友可以单独看redash文件里的代码。

这里我把一些重要的文件标识出来,这几个文件夹内的代码是主要的精髓,当然你从整体的代码上了解后,你会发现这个项目非常适合二次开发,这说明了这个项目的拓展性非常好

这一点其实也突出了一个项目的优秀,有一部分原因是它的拓展性如何,如果拓展性很高,也代表着这个项目的可能性越多,思想与思想之间的碰撞也越多。

如何在redash增加一个功能模块?

这一部分适合给已经看过源码的朋友。这里讲的只是后端部分,前端部分了解react的朋友应该也能马上看出来。

第一步:前往models文件夹创建你这个功能所需的数据库字段。

第二步:前往handlers文件夹编写有关于你这个功能的具体代码

第三步:将自己所写的功能,添加至api.py文件中,按照相同的格式分配接口

这样就能够新增一个功能模块了,但是前提还是了解我上面红框的具体代码,这样你才能跟着它的架构来新增功能,而不是跟着自己的思路来。

我是kuls
欢迎加我微信交流学习
精彩文章,可以关注我!

推荐一个很牛叉的开源Flask项目相关推荐

  1. 推荐一个很不错的android开源播放器XLPlayer

    这个播放器很强大,结合了android的ndkmediacodec,ffmpeg来实现硬解和软解,而且代码都在项目内不需要进行编译操作,可以更直观的了解播放器的功能操作 XLPlayer 配置环境时出 ...

  2. 推荐一个很牛逼的 Github 项目:本人历时半年完成的【Java 面试 + Java 后端技术学习指南】,已拿大厂offer

    今天给大家分享一份[Java 面试 + Java 后端技术学习指南]:一份通向理想互联网公司的面试指南,包括 Java,技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.分 ...

  3. 如何做一个真正牛X 的开源项目

    2019独角兽企业重金招聘Python工程师标准>>> 近年来,越来越多的开发者选择将自己的产品以开源形式发布,有时的结果是--你满怀诚意地开源,却无人问津.尽管你的产品做得相当好, ...

  4. 推荐一个好用的免费开源的笔记本软件CherryTree

    推荐一个好用的免费开源的笔记本软件CherryTree 我是一个好奇心很强的人,对未知的事物总有一种想要追根究底的冲动.多年以来,我学了很多东西,也学的很杂,积累了很多领域的知识.但不得不承认,人的记 ...

  5. JS特效之很牛叉的轮播图

    //HTML部分: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  6. 我在养一个很牛逼的大单!

    此内容被投诉且经审核涉嫌侵权,无法查看. 被投诉内容 我在养一个很牛逼的大单! 投诉类型 文章抄袭 审核依据 <微信公众平台运营规范>第4.1条规定 主要法律法规 了解更多 侵权行为及处罚 ...

  7. 一个很牛的老板领导骂人的话

    一个很牛的老板领导骂人的话! 虽然赤裸裸强势,不过有道理! 1.要么全力以赴的干,要么早点滚蛋,在任何一个位置混日子迟早会有人拿你开刀,你要明白,做企业不是做慈善,如果你愿意被慈善,我建议你去要饭.2 ...

  8. 转一个很牛的老板领导骂人的话

    一个很牛的老板领导骂人的话! 虽然赤裸裸强势,不过有道理!  1.要么全力以赴的干,要么早点滚蛋,在任何一个位置混日子迟早会有人拿你开刀,你要明白,做企业不是做慈善,如果你愿意被慈善,我建议你去要饭. ...

  9. 再见迅雷!推荐一个绿色无广告的开源下载工具

    [导语]:如今要找出一款干净无广告的下载工具,貌似不那么容易了.今天推荐一个开源 BT 下载工具. 简介 LIII BitTorrent Client 是一个开源文件共享程序,能够下载 torrent ...

最新文章

  1. puppet aix之自动化用户管理
  2. c++回调函数 callback
  3. 利用sql报错帮助进行sql注入
  4. pythonista安卓版下载-pythonista 3ios
  5. Centos 用户组管理
  6. 对比tensorflow查看打印输出张量Tensor的两种方法(急切执行tf.enable_eager_execution()和tf.Session.run())
  7. VS开发C#窗体应用时怎样设置窗体属性
  8. for vue 一行2列_JAVA基础练习试题(2)蓝桥杯 附源代码
  9. 拓端tecdat|如何利用深度学习诊断心脏病
  10. java教师考勤系统,javaweb课堂考勤管理系统
  11. MFC Windows程序设计源码免费下载
  12. 小白入,告诉你.ssh新建config文件究竟是哪种文件!
  13. 【深入理解Java】一篇文章带你彻底吃透Java NIO
  14. 苹果移动设备(iPhone/iPad)分辨率汇总
  15. 计算机营销专业毕业生自我评价,市场营销专业毕业生自我评价
  16. 简单的C语言顺序结构例题介绍
  17. xp系统如何开启ftp服务器,xp系统怎么开ftp服务器
  18. (三)elasticsearch学习笔记————文档基本操作
  19. 计算机硬盘加密的原理,一种计算机硬盘加密方法及装置
  20. idea debug教程启用Debug模式可以分析定位异常发生的位置

热门文章

  1. PHP 下载 word 文档 等文件
  2. 公开的卫星光谱响应函数
  3. figure标签的使用
  4. 解决SDK未授权问题
  5. 制作U盘多系统(老毛桃WinPE,Ubuntu,MaxDOS,CDlinux,Parted Magic Linux)引导工具
  6. traceroute命令结果分析
  7. Matlab中prod函数
  8. 骨传导耳机十大品牌综合对比,对比十款骨传导耳机测评哪个牌子好
  9. C++ 抓取和批量下载网站上的图片或文件
  10. java随机姓名 根据网络爬虫爬取百家姓和名字