是否有什么大型的基于 Flask 框架的开源项目,想学习一下他们是如何组织代码的。
|
wph95Nov 7, 2019 via iPad
1
Airflow 当初看过一些 感觉还可以
// 要是问 Django 就好了 有好几个写的很优雅的大项目( sentry taigo)非常值得推荐 |
|
3
|
|
4
|
|
7
|
|
9
想起之前实习的时候读到的一篇文章,用一个很 trick 的方法来解决循环引用…… 这个设计很巧,实际上把所有的模块都做成了 init_app
https://lepture.com/en/2018/structure-of-a-flask-project |
|
10
|
|
11
嗯, 搭车问一下,现在用 FastAPI 的人多吗? 一个类似 Flask 的框架.
但是比 Flask 更现代: 1. Python 3.6+ 2. 完善的类型声明 3. 异步 async await 支持 4. 自带 Swagger (OpenApi) |
|
12
@wmc 提到的 @lepture 曾经写过一个论坛 june,对里面装饰器来控制权限的用法至今还印象深刻,当然毕竟他就是 pocoo 组(Flask 核心开发)里的一员
https://gist.github.com/Allianzcortex/374f3713ac3e0b898e978b0850865bb1 |
|
13
|
|
14
我是参照了这两个项目,可能都谈不上大型。
狗书的 flasky,也就是 7 楼提的那个: https://github.com/miguelgrinberg/flasky/tree/60252375f8660d034680725db24301c594ce69e4 flask 官方 repo 里的 tutorial: https://github.com/pallets/flask/tree/master/examples/tutorial 两者用的都是类似的项目结构,flasky 把 turorial 里的一些单文件扩展成了包,但基本架构没太大差别。 |
|
ebingtelNov 7, 2019
16
怎么开心怎么来,都是微服务了……一个 web 项目也可以 install 其他的子项目作为集成
|
|
sujin190Nov 7, 2019
17
|
|
676529483Nov 7, 2019
18
感觉 flask 一直都是关注度高,但开源的大型项目找不到,相反 django 就很多了。根据面试的情况归纳,基本小企业跟风用 flask 的多一些,做的也比较小型
|
|
cpjNov 7, 2019
19
老帖子里有提到过,并且我实践了 lepture 的那篇文章 ( https://lepture.com/en/2018/structure-of-a-flask-project ),感觉比较舒服
|
|
ClericPyNov 7, 2019
20
早年间用的 https://exploreflask.com/en/latest/organizing.html, 虽然也有中文版教程
不过楼主这种站长经验丰富的应该不需要这个... 用了两年 flask, 我就跳 asgi 了, starlette / fastapi 真香, falcon 也真快 |
|
21
flask 有很多 anti-pattern。
网上抄的装饰器一时爽,单元测试火葬场。 全局 context 变量一时爽,堆栈弹错火葬场。 flask API 输出一时爽,代码组织火葬场。 简单功能一时爽,flask-* 插件火葬场 flask-*插件一时爽,遇到 bug 兼容问题火葬场 |
|
HopetreeNov 7, 2019
22
把所有的 APP 都使用 init_app ()加载,我觉得这就是 flask 的组织架构了
|
|
lolizeppelinNov 7, 2019
23
想看大型的就不要把关注点放在 web 框架上...
来来来 openstack 走起 |
|
GoLandNov 7, 2019
24
|
|
gjquoiaiNov 7, 2019
25
_(:з)∠)_ 我的 cookiecutter https://github.com/MisLink/rest-flask-cookiecutter
|
|
skenanNov 7, 2019
29
现在用 flask 一般是写 api 吧,比较喜欢这个 repo 里的组织方式: https://github.com/openspug/spug
|
|
Trim21Nov 7, 2019 via iPhone
30
fastapi 真香
|
|
anafNov 7, 2019
33
cookiecutter-flask 一直以来用这个
|
|
shisangNov 7, 2019
36
|
|
shisangNov 7, 2019
37
awesome-flask: https://github.com/humiaozuzu/awesome-flask
|
|
stdoutNov 14, 2019
40
|
|
matrix1010Nov 14, 2019 via Android
41
|
|
wzwJan 20, 2020
42
|
|
ClericPyJan 20, 2020
45
@wzw #42 测试环境关闭, 线上环境开着就行吧, 简单地在不同环境上配置参数集里带上是否开 docs
https://fastapi.tiangolo.com/tutorial/application-configuration/#docs-urls 以前考虑给 docs 加 Oauth, 后来发现, 内网测试环境看就够了, 外网看个屁... 就简单多了 |
|
ClericPyJan 20, 2020
47
@wzw #46 python2 都死了, 还不赶紧上 ASGI 的车[狗头保命], Django 家的 ASGI 也是很不错的
早年间我是 Bottle 无痛转 flask, 被 Sanic 坑了一段跳了 responder, 然后上了 K 神的当, 直接用它依赖的 starlette, 最后无痛转 fastapi, 连 blacksheep 的作者都被 fastapi 吸引了 PS: Cython 加速下, falcon 和它的 ASGI 版本 hug 性能都逼近 golang 了, 追求极限性能也可以考虑下, 至于 vibora 什么的更极限性能的, 就是蹭热度玩噱头的, 生产环境不敢上, 给它们修 bug 的时间够我学 golang 去了 |
|
skenanJul 18, 2020 via iPhone
49
@jsisjs20130824 之前是用 flask 写的,第二版切换成 django 了
|