Flask 只好放弃了, Django 拿起。。。其实我很喜欢 Flask。。。

2019-07-27 16:57:06 +08:00
 linlance
反反复复的用 Flask 做了几个小站,都是不用太复杂的类型,感觉很好用。
但是遇到开发用户系统,需要有角色,权限问题的时候,Flask 太麻烦了,几个第三方库都不太好用。

十六进制权限值 Flask 狗书 用十六进制来判断,放弃
Flask-Security user 必须要有 email,active 字段,并且必须用 WTF
Flask Principal flask_principal 的作者已经不更新了,上次提交代码是 2015 年。
PyCasbin 国人 2019.1 开始

目前就这四种第三方库,十六进制?有多少权限,就需要写多长的 16 位,然后还记得哪个位置是什么权限么?这种也太坑了,直接放弃。
Flask-Security 必须要有 email,active,必须用 WTF,不太想用。
Flask Pricipal,已经 4 年前了。
PyCasbin,国人的刚开始几个月,用在项目上,实在是不放心。。。

自己实现? RBAC 权限管理 基于角色的访问控制。
感觉好复杂啊。。。。

然后在咱们这里终于看到描述了,Flask 很优美,但是每个都得自己搭建,也太累了。。。
我好不容易打通其他的,终于在这个用户角色权限上被拦了好几天。。。
还是学习一下 Django 吧。。。基本上开箱即用。
9038 次点击
所在节点    Python
64 条回复
dcoder
2019-07-28 08:15:28 +08:00
@linlance
Django 和 Rails 一般都推荐你用 PostgreSQL, 官配
PostgreSQL 真心比 MySQL 强多了
laravel
2019-07-28 09:22:12 +08:00
@coolair 能问下你前端用的哪个框架吗?比如 layui、vue-element 等
我好像有点儿处女座性格,代码写的不好我就想删了重写,UI 不好看我就不想用了。
coolair
2019-07-28 10:07:48 +08:00
@laravel 我自己实现了一个 theme 的功能,用了 adminlte、tabler、layui 三个,vue-element 还没弄,我对 vue 还不是很熟悉。
ecloud
2019-07-28 10:34:09 +08:00
我有一套现成的 rabc 基于 tornado,可以共享给你,不过我不太清楚 tornado 跟 flask 有多大差别
其实说白了 rabc 就是那几个表和每个 action 的验权,表都弄出来了,验权就是体力活了
pzzrudlf
2019-07-28 11:24:55 +08:00
@ecloud 兄弟,可否分享?
sazima
2019-07-28 11:34:28 +08:00
还是代码里控制角色权限吗, 比使用三方库灵活. 我猜的
sazima
2019-07-28 11:34:49 +08:00
错字: 还是代码里控制角色权限吧, 比使用三方库灵活. 我猜的
firejoke
2019-07-28 11:55:55 +08:00
openstack  的权限管理组件 Keystone 就是用的 flask
charlie21
2019-07-28 12:00:16 +08:00
@nine
老手感觉踏实 新手就感觉不踏实,这不是 API caller 的廉价经验什么的能踏平的 这是必须知道底层原理(当发现 rails 源码出错的时候能 debug 进去)能踏平的
imycc
2019-07-28 12:36:30 +08:00
初学的时候用的 Django,工作后用的 Flask。因为我们是一个开发团队多个系统都在用,很少用它的插件,大多数公用的库或者服务,自己开发自己维护,定制起来也比较方便。
而个人开发者的话,这些都要自己做了,开发多个的话可以考虑抽出来做个通用的轮子?
ManjusakaL
2019-07-28 12:40:47 +08:00
Flask 最后也会写成 Django on Flask 的
charlie21
2019-07-28 13:02:48 +08:00
API caller 的经验对我来说没用,懂吗,设计 API 就是 软性药物 那就是贼船 。越高级的框架 整不明白就瞎 JB 用 刚用的时候很快乐 但最终都会影响到开发的流畅度
qile1
2019-07-28 13:17:10 +08:00
权限管理控制 5 张表太麻烦了,我是直接把每个 route 函数名存用户表的权限字段,验证的时候判断这个函数在不在权限字段,这样大到权限分组,或按角色,小到某个按钮的具体 post 或者 get、连数据库某个字段是否有权限修改都可以控制,就是现在还不知道使用蓝图后,如何把所有路由函数导出!都得手工加。
Raisu
2019-07-28 14:10:25 +08:00
狗书拿来垫桌脚吧,这本书都不知道为什么评分那么高
tairan2006
2019-07-28 16:32:53 +08:00
RBAC 不就是几张表么。。有啥难的
phithon
2019-07-28 16:50:08 +08:00
你以为 flask 很轻量写起来很快,其实写完一整个系统就会发现你用的第三方库一样不比 django 少,质量还参差不齐。。。
phithon
2019-07-28 16:52:13 +08:00
django 与 pg 更配,别折腾 mysql 了
ila
2019-07-28 17:34:15 +08:00
@niubee1
没完整看 web 框架源码,不能自己实现 wsgi,对整个流程没有完全通彻。

说的也是我
Gakho
2019-07-28 18:13:51 +08:00
其实手撸也没多难,最近刚给 aiohttp 撸了个自用...
niubee1
2019-07-28 18:42:40 +08:00
@ila 莫不是你不把 Linux 源码大全看完就在 linux 下没法写代码了? Windows 还没有源码的,你莫不是不能在 windows 下写代码?能不能在 web 框架基础上搞事情和看完源码有毛关系?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/586734

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX