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 吧。。。基本上开箱即用。
9024 次点击
所在节点    Python
64 条回复
neoblackcap
2019-07-27 22:09:43 +08:00
@linlance 如果我没记错的话,16 进制权限值这个说法不是很对。根据经验来看,这个应该是 bitmap,应该转化为二进制来看,一个位代表一个权限。
一般我们配权限的时候都是采取位操作的方法,比如 0x01 | 0x02 来实现两个权限的并集。权限应该是写成常量,用的时候用按位取或(bitwise or)
ryd994
2019-07-27 22:32:20 +08:00
权限你难道手打吗?????
你有没有考虑过 C 程序员是怎么活这么久的?
enum permission {
permission_a,
permission_b,
...
}
#define PERMISSION_A_MASK = 1 << permission_a;
#define PERMISSION_B_MASK = 1 << permission_b;

if (Value & PERMISSION_A_MASK) ...

Value |= PERMISSION_A_MASK;
Value &= ~PERMISSION_B_MASK;
kqz901002
2019-07-27 22:35:42 +08:00
@linlance #16 如果是个人项目或者小项目无所谓语言,一般团队项目还是 Java 为主,人力是重要因素
fqxufo
2019-07-27 22:43:25 +08:00
追随 2kg
c0878
2019-07-27 22:45:00 +08:00
哟 2k 哥
ampedee
2019-07-27 22:57:13 +08:00
试试 flask-rbac
cnkiller
2019-07-27 23:00:53 +08:00
来自 d 版带着爱
caicaiwoshishui
2019-07-27 23:01:13 +08:00
@gsj987 工业级框架指的是?
catcalse
2019-07-27 23:09:04 +08:00
别放弃,我还在玩呢
nine
2019-07-27 23:31:44 +08:00
@linlance 必然是完全不同的,除了 Rails 其他 web 框架都是在忙于配置,做些啰里啰嗦没用的事情,“看起来”很灵活,其实很狗屎。
swsh007
2019-07-27 23:37:58 +08:00
WordPress 好了
charlie21
2019-07-27 23:52:33 +08:00
@nine ror 框架 隐藏的细节有点儿多呀,用起来不踏实,就像对着一个黑盒 ( rails SDK ) 编程

无数人写 PHP 都不爱用框架的
charlie21
2019-07-27 23:52:54 +08:00
就因为框架隐藏的细节太多了
niubee1
2019-07-28 00:05:49 +08:00
主要是楼主太弱鸡,遇到问题就想绕道,这样一直就会很弱, 没有别人的库连代码都不会写了
jakes
2019-07-28 00:11:37 +08:00
Java 做的 BS 和 Java 有什么关系? Java 虚拟机升级影响什么。。。?楼主完全没搞明白吧?
rogwan
2019-07-28 00:41:00 +08:00
@charlie21 flask 隐藏了很多细节,但是确实隐藏的很精妙,django 则更直观。
nine
2019-07-28 01:03:46 +08:00
@charlie21 looks like 吧?实际使用比任何其他框架令人踏实。
dudulangjiao
2019-07-28 01:46:09 +08:00
2000 哥。。。
arischow
2019-07-28 01:59:46 +08:00
来自地板带着爱?
linlance
2019-07-28 02:38:11 +08:00
哎,简直气死。。。Django2.2.3 对 mysql 又只支持 5.6 以上的,弄了半天,累死我鸟。。。
一堆一堆的错误,bug,真难用。
哎,为了用户角色权限的便利,我还没有放弃。。。

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

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

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

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

© 2021 V2EX