1
coolair 2019-07-27 17:02:54 +08:00
你应该来一个一劳永逸的解决办法,我就是自己写了套带 RBAC 的 Base 系统,公司所有的项目都基于它。后台界面靓丽,可定制程度高。
|
2
lihongjie0209 2019-07-27 17:15:04 +08:00
```
自己实现? RBAC 权限管理 基于角色的访问控制。 感觉好复杂啊。。。 ``` 啥????这个有什么困难的 |
3
gsj987 2019-07-27 17:35:57 +08:00
Django 我从 0.96 开始用,除了他的 mttv 范式现在有点不时髦,其他就没怎么烦恼过。flask 经常有这样那样的问题,主要是第三方的问题,但是也挺难受的。本来咱用 python 就是图方便,flask 适合将脚本输出服务,Django 适合快速搭建简单业务,但是项目一大型还是上工业级框架吧
|
4
lowman 2019-07-27 17:39:45 +08:00
python forever
|
5
linlance OP @gsj987 工业级框架?
我感觉 Django 貌似已经可以搭建比较大的应用了呀。 不过我确实是觉得使用 python 就是图方便,Flask 需要自己弄来弄去,总会被各种小问题给折腾一整天,超级浪费时间。 |
6
linlance OP @coolair 你这个确实一劳永逸,但是自己能力不够,对 RBAC 的理解还不太明白,没有办法写出来,不然 Flask 也可以使用了,大部分功能其实都实现了。但是对用户和权限,角色,以前都没考虑,都是 admin 一个账户解决。
现在要考虑这部分内容了,觉得好麻烦,网上的教程也不是太清楚。。哎。 我在考虑使用 DRF 框架来解决这些事,如上所说的,使用 python 是为了方便,快速搭建系统出来,不想在细节上费时间。 |
7
gesse 2019-07-27 17:47:39 +08:00
我一直觉得 flask 适合写 api
|
8
linlance OP @lihongjie0209 初学者,觉得这个实在有点麻烦,起码建立 5 个表,还需要写模型吧?我都没想明白怎么实现这块。哎。。
|
9
gaigechunfeng 2019-07-27 17:48:34 +08:00
我知道一个开源项目 lin-cms,在 github 上,他有后台就是用 flask 的。
权限管理做的也很齐全,算是一个比较好的脚手架吧。 |
10
aaronhua 2019-07-27 18:07:38 +08:00
对 flask 的确是很有好感,只是一些简单的接口用 flask。相对于 django 各有优势。看情况用吧
|
11
maigebaoer 2019-07-27 18:22:32 +08:00 via Android
试试 laravel?
|
12
wukongkong 2019-07-27 18:32:43 +08:00 via iPhone
2000 哥?
|
13
gsj987 2019-07-27 18:46:33 +08:00
@linlance 大型项目还是要用 java 或 c#,python 的框架 django 是最强了,但是一庞大起来,或者业务复杂起来,每一次重构都是痛苦。
|
14
nine 2019-07-27 18:53:13 +08:00
早用 Ruby on Rails 早超生,不然 3 年后回来发现还在纠结框架的事。
|
15
stamaimer 2019-07-27 19:31:00 +08:00 via iPhone
flask-security 可以自己改啊
|
16
linlance OP @maigebaoer 最早放弃的东西,学习曲线太陡了。。。python 很容易出东西。
@wukongkong 是我:) @gsj987 难道非得 java 么?我实在对 java 深恶痛绝,浏览器老得升级 java 插件,烦死。 @nine ROR 一直没有入门,总觉得跟 Django 之类的 python 框架,完全不同。 @stamaimer 自己改的难度有点大:(,弄了半天,业务逻辑都还没上呢,先被这些小坑给绊住了。 |
19
linlance OP |
20
CallMeReznov 2019-07-27 21:07:59 +08:00
本身就是小站点小页面用的,你要起大的肯定是更完备的酱狗啊
|
21
neoblackcap 2019-07-27 22:09:43 +08:00
@linlance 如果我没记错的话,16 进制权限值这个说法不是很对。根据经验来看,这个应该是 bitmap,应该转化为二进制来看,一个位代表一个权限。
一般我们配权限的时候都是采取位操作的方法,比如 0x01 | 0x02 来实现两个权限的并集。权限应该是写成常量,用的时候用按位取或(bitwise or) |
22
ryd994 2019-07-27 22:32:20 +08:00 via Android 1
权限你难道手打吗?????
你有没有考虑过 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; |
24
fqxufo 2019-07-27 22:43:25 +08:00
追随 2kg
|
25
c0878 2019-07-27 22:45:00 +08:00
哟 2k 哥
|
26
ampedee 2019-07-27 22:57:13 +08:00 via Android
试试 flask-rbac
|
27
cnkiller 2019-07-27 23:00:53 +08:00 via Android
来自 d 版带着爱
|
28
caicaiwoshishui 2019-07-27 23:01:13 +08:00 via Android
@gsj987 工业级框架指的是?
|
29
catcalse 2019-07-27 23:09:04 +08:00 via Android
别放弃,我还在玩呢
|
30
nine 2019-07-27 23:31:44 +08:00 1
@linlance 必然是完全不同的,除了 Rails 其他 web 框架都是在忙于配置,做些啰里啰嗦没用的事情,“看起来”很灵活,其实很狗屎。
|
31
swsh007 2019-07-27 23:37:58 +08:00 via Android
WordPress 好了
|
32
charlie21 2019-07-27 23:52:33 +08:00
|
33
charlie21 2019-07-27 23:52:54 +08:00
就因为框架隐藏的细节太多了
|
34
niubee1 2019-07-28 00:05:49 +08:00
主要是楼主太弱鸡,遇到问题就想绕道,这样一直就会很弱, 没有别人的库连代码都不会写了
|
35
jakes 2019-07-28 00:11:37 +08:00 via iPhone
Java 做的 BS 和 Java 有什么关系? Java 虚拟机升级影响什么。。。?楼主完全没搞明白吧?
|
38
dudulangjiao 2019-07-28 01:46:09 +08:00 via iPhone
2000 哥。。。
|
39
arischow 2019-07-28 01:59:46 +08:00 via iPhone
来自地板带着爱?
|
40
linlance OP 哎,简直气死。。。Django2.2.3 对 mysql 又只支持 5.6 以上的,弄了半天,累死我鸟。。。
一堆一堆的错误,bug,真难用。 哎,为了用户角色权限的便利,我还没有放弃。。。 |
41
dcoder 2019-07-28 08:15:28 +08:00
|
42
laravel 2019-07-28 09:22:12 +08:00
@coolair 能问下你前端用的哪个框架吗?比如 layui、vue-element 等
我好像有点儿处女座性格,代码写的不好我就想删了重写,UI 不好看我就不想用了。 |
43
coolair 2019-07-28 10:07:48 +08:00
@laravel 我自己实现了一个 theme 的功能,用了 adminlte、tabler、layui 三个,vue-element 还没弄,我对 vue 还不是很熟悉。
|
44
ecloud 2019-07-28 10:34:09 +08:00
我有一套现成的 rabc 基于 tornado,可以共享给你,不过我不太清楚 tornado 跟 flask 有多大差别
其实说白了 rabc 就是那几个表和每个 action 的验权,表都弄出来了,验权就是体力活了 |
46
sazima 2019-07-28 11:34:28 +08:00
还是代码里控制角色权限吗, 比使用三方库灵活. 我猜的
|
47
sazima 2019-07-28 11:34:49 +08:00
错字: 还是代码里控制角色权限吧, 比使用三方库灵活. 我猜的
|
48
firejoke 2019-07-28 11:55:55 +08:00
openstack 的权限管理组件 Keystone 就是用的 flask
|
49
charlie21 2019-07-28 12:00:16 +08:00
@nine
老手感觉踏实 新手就感觉不踏实,这不是 API caller 的廉价经验什么的能踏平的 这是必须知道底层原理(当发现 rails 源码出错的时候能 debug 进去)能踏平的 |
50
imycc 2019-07-28 12:36:30 +08:00
初学的时候用的 Django,工作后用的 Flask。因为我们是一个开发团队多个系统都在用,很少用它的插件,大多数公用的库或者服务,自己开发自己维护,定制起来也比较方便。
而个人开发者的话,这些都要自己做了,开发多个的话可以考虑抽出来做个通用的轮子? |
51
ManjusakaL 2019-07-28 12:40:47 +08:00 via Android
Flask 最后也会写成 Django on Flask 的
|
52
charlie21 2019-07-28 13:02:48 +08:00
API caller 的经验对我来说没用,懂吗,设计 API 就是 软性药物 那就是贼船 。越高级的框架 整不明白就瞎 JB 用 刚用的时候很快乐 但最终都会影响到开发的流畅度
|
53
qile1 2019-07-28 13:17:10 +08:00 via Android
权限管理控制 5 张表太麻烦了,我是直接把每个 route 函数名存用户表的权限字段,验证的时候判断这个函数在不在权限字段,这样大到权限分组,或按角色,小到某个按钮的具体 post 或者 get、连数据库某个字段是否有权限修改都可以控制,就是现在还不知道使用蓝图后,如何把所有路由函数导出!都得手工加。
|
54
Raisu 2019-07-28 14:10:25 +08:00 via Android
狗书拿来垫桌脚吧,这本书都不知道为什么评分那么高
|
55
tairan2006 2019-07-28 16:32:53 +08:00
RBAC 不就是几张表么。。有啥难的
|
56
phithon 2019-07-28 16:50:08 +08:00
你以为 flask 很轻量写起来很快,其实写完一整个系统就会发现你用的第三方库一样不比 django 少,质量还参差不齐。。。
|
57
phithon 2019-07-28 16:52:13 +08:00
django 与 pg 更配,别折腾 mysql 了
|
59
Gakho 2019-07-28 18:13:51 +08:00
其实手撸也没多难,最近刚给 aiohttp 撸了个自用...
|
60
niubee1 2019-07-28 18:42:40 +08:00
@ila 莫不是你不把 Linux 源码大全看完就在 linux 下没法写代码了? Windows 还没有源码的,你莫不是不能在 windows 下写代码?能不能在 web 框架基础上搞事情和看完源码有毛关系?
|
61
linlance OP |
62
linlance OP 数据库换到 PostgreSQL 了,娘的,终于被 mysql 折磨的不行了。
|
63
johnsona 2020-05-21 16:27:22 +08:00
|
64
phithon 2020-05-21 23:18:40 +08:00
@jsisjs20130824
原因是官方在 PG 上做了更多工作。官方文档这样解释: Django provides support for a number of data types which will only work with PostgreSQL. There is no fundamental reason why (for example) a contrib.mysql module does not exist, except that PostgreSQL has the richest feature set of the supported databases so its users have the most to gain. https://docs.djangoproject.com/en/3.0/ref/contrib/postgres/ |