码迷,mamicode.com
首页 > 其他好文 > 详细

django在模板中使用权限

时间:2019-11-09 21:58:24      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:pattern   处理   log   mic   class   doctype   path   span   http   

在settings.TEMPLATES.OPTIONS.content_processors下,因为添加了 django.contrib.auth.context_processors.auth上下文处理器。

技术图片

 

 

 

因此在模板中可以直接通过perms来获取用户的所有权限, 示例代码如下:

{%  if perms.front.add_article  % }

  <a href="/article/add/" >添加文章</a>

{% endif %}

 

 

1、在app01/templates/ index.html里面定义模板

技术图片

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    首页
    {% if perms.app01.add_article %}
        <a href="#" > 添加文章 </a>
    {% endif %}

</body>
</html>

 

2、在app01/views.py里定义 index视图

#在模板中使用权限
def index(request):
    return  render( request, index.html)

3、定义路由

from django.contrib import admin
from django.urls import path
from app01 import views as app01_views

urlpatterns = [
    path(admin/, admin.site.urls),
    path("test/", app01_views.test),
    path("login/", app01_views.my_login, name = "login"),
    path("logout/", app01_views.my_logout, name = "logout"),
    path("profile/", app01_views.profile, name="profile"),
    path("add_permission/", app01_views.add_permission, name="add_permission" ),
    path("oper_permission/", app01_views.operate_permission, name="oper_permission" ),
    path("add_article/", app01_views.add_article, name="add_article" ),
    path("oper_group", app01_views.operate_group, name="oper_group"),
    path("", app01_views.index, name="index"),
]

 

4、访问http://127.0.0.1:8080/后效果如下

技术图片

 

 

说明,用户有add_article权限

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 

5、删除掉 auth_group_permissions里面 19的权限后,再访问http://127.0.0.1:8080/

 技术图片

 

 由于group1没有对应的19权限了,所有页面中不会显示添加文章的权限

技术图片

 

 

6、直接在app01_user_user_permissions表里,给用户1添加19权限后,再访问http://127.0.0.1:8080/

技术图片

 

添加文章的权限又出现了

 技术图片

 

 

 

django在模板中使用权限

标签:pattern   处理   log   mic   class   doctype   path   span   http   

原文地址:https://www.cnblogs.com/harryTree/p/11827799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!