95992828九五至尊2

用户权限学习种类之设计自有权力管理系列规划思路

四月 15th, 2019  |  882828九五至尊手机版

若在读书本片文章遇到权限操作问题,请查看本种类的前两章!

[Django]用户权限学习体系之设计自有权力管理类别规划思路,django权限管理连串

若在读书本片小说遭逢权限操作难题,请查看本连串的前两章!

http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ-LQJ/p/5604331.html

近年来步入正题,这篇小说是有关自有权力管理种类规划的思路描述,自有权力管理类别是放任django自带的后台管理分界面,基于本人编辑的权位管理分界面对用户权限的管住!

先是上海体育场面:(本身安插的权能系统分界面,代码将承袭著作中写出)

882828九五至尊手机版 1

权限管理分界面首假使丰硕和删除权限,查看官方文书档案可清楚permission有五个字段,content_type_id(权限项目),codename(权限名称),name(权限描述)

查看上航海用体育场地,可见权限名称展现的华语,django后台自带的是英文,如下图:

882828九五至尊手机版 2

882828九五至尊手机版,本来个中的汉语是笔者自个儿加上进去的,选用普通话的便宜还有五个,正是足以经过后台利用正则表达式筛选出只是华语的权限,那样就足以毫无显示出英文的权杖导致用户看不懂了,汉语的正则是[\u4e00-\u9fa5].

后台view查询汉语权限代码如下:

#匹配中文权限(单个查询)
c = Permission.objects.get(codename__iregex=u'[\u4e00-\u9fa5]')
print c
#匹配中文权限(全部查询)
Permission.objects.filter(codename__iregex=u'[\u4e00-\u9fa5]').values()

 

用户管理分界面是增进用户和对用户展开权力分配操作,如下图:

882828九五至尊手机版 3

恐怕有人会问道,用户权限配置好后,如何贯彻对八个网页照旧操作的权位调整呢?

事实上代码和django官方网址中山大学多,在模板中查看权限代码如下:

 {% if perms.auth.业务发展 %}
 <p class="text-center"><a href="{% url 'keywork' %}">业务发展</a></p>
 {% else %}
<p class="text-center"><a href="javascript:alert('无权限,请联系管理员!')">业务发展</a></p>

{% endif %}

view中验证权限如下

u = User.objects.get(username='账号')
u.has_perm(u"auth.\u4e1a\u52a1\u53d1\u5c55")

上边那种,需求先用b =
list(User.objects.get(username=’账号’).get_all_permissions())查看权限的国语对应pyhton中显得的代码

切实制作进度,就要接二连三的文章中逐步举行,为了给大家过来三个支出权限系统的真是进度,而不是只贴一大代码上来(ps:自身原先便是那样的)……

 

http://www.bkjia.com/Pythonjc/1137566.htmlwww.bkjia.comtruehttp://www.bkjia.com/Pythonjc/1137566.htmlTechArticle\[Django\]用户权限学习系列之设计自有权限管理系统设计思路,django权限管理系统
若在翻阅本片文章境遇权限操作难题,请查看本连串的前两章…

http://www.cnblogs.com/CQ-LQJ/p/5609690.htmlhttp://www.cnblogs.com/CQ-LQJ/p/5604331.html

今昔步入正题,那篇小说是有关自有权力管理类别规划的思绪描述,自有权力管理种类是扬弃django自带的后台管理分界面,基于自身编辑的权力管理分界面对用户权限的管理!

先是上海教室:(本人安插的权力系统界面,代码将持续小说中写出)

882828九五至尊手机版 4

权力管理界面首假诺丰富和删除权限,查看官方文书档案可分晓permission有三个字段,content_type_id(权限项目),codename(权限名称),name(权限描述)

翻开上海教室,可见权限名称显示的粤语,django后台自带的是英文,如下图:

882828九五至尊手机版 5

自然当中的华语是自笔者要好丰盛进去的,选用中文的好处还有3个,便是能够通过后台利用正则表明式筛选出只是华语的权柄,那样就足以不要展现出英文的权能导致用户看不懂了,中文的正则是[\u4e00-\u9fa5].

后台view查询粤语权限代码如下:

#匹配中文权限(单个查询)
c = Permission.objects.get(codename__iregex=u'[\u4e00-\u9fa5]')
print c
#匹配中文权限(全部查询)
Permission.objects.filter(codename__iregex=u'[\u4e00-\u9fa5]').values()

 

用户管理分界面是加上用户和对用户实行权力分配操作,如下图:

882828九五至尊手机版 6

兴许有人会问道,用户权限配置好后,怎么样贯彻对一个网页如故操作的权限决定呢?

实际上代码和django官方网址中几近,在模板中央电台察权限代码如下:

 {% if perms.auth.业务发展 %}
 <p class="text-center"><a href="{% url 'keywork' %}">业务发展</a></p>
 {% else %}
<p class="text-center"><a href="javascript:alert('无权限,请联系管理员!')">业务发展</a></p>

{% endif %}

view中检查权限如下

u = User.objects.get(username='账号')
u.has_perm(u"auth.\u4e1a\u52a1\u53d1\u5c55")

上面那种,须求先用b =
list(User.objects.get(username=’账号’).get_all_permissions())查看权限的国语对应pyhton中显得的代码

现实制作进度,将要接二连三的稿子中稳步进行,为了给大家过来多个支出权限系统的就是进程,而不是只贴一大代码上来(ps:自身原先便是那般的)……

 

Your Comments

近期评论

    功能


    网站地图xml地图