Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
贝湾云科技
DjangoMall
提交
6c48ff32
D
DjangoMall
项目概览
贝湾云科技
/
DjangoMall
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DjangoMall
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6c48ff32
编写于
11月 20, 2021
作者:
码心永恒
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
权限9
上级
03414e6a
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
55 addition
and
23 deletion
+55
-23
DjangoMall/DJMall/conf/admin_conf.py
DjangoMall/DJMall/conf/admin_conf.py
+2
-2
DjangoMall/DJMall/settings/base.py
DjangoMall/DJMall/settings/base.py
+2
-2
DjangoMall/DJMall/urls.py
DjangoMall/DJMall/urls.py
+2
-2
DjangoMall/apps/dadmin/admin.py
DjangoMall/apps/dadmin/admin.py
+38
-11
DjangoMall/apps/dadmin/apps.py
DjangoMall/apps/dadmin/apps.py
+2
-2
DjangoMall/apps/dadmin/dadmin.py
DjangoMall/apps/dadmin/dadmin.py
+9
-4
未找到文件。
DjangoMall/DJMall/conf/admin_conf.py
浏览文件 @
6c48ff32
...
@@ -22,13 +22,13 @@ IS_SHOW_NAV_SIDEBAR = True
...
@@ -22,13 +22,13 @@ IS_SHOW_NAV_SIDEBAR = True
# 显示空值的字符串
# 显示空值的字符串
EMPTY_VALUE_DISPLAY
=
'~'
EMPTY_VALUE_DISPLAY
=
'~'
# 自定义主页索引视图模板路径
# 自定义主页索引视图模板路径
INDEX_TEMPLATE
=
'dadmin/index.html'
INDEX_TEMPLATE
=
None
# 自定义应用索引视图模板路径
# 自定义应用索引视图模板路径
APP_INDEX_TEMPLATE
=
None
APP_INDEX_TEMPLATE
=
None
# 是否添加一个总括视图
# 是否添加一个总括视图
FINAL_CATCH_ALL_VIEW
=
True
FINAL_CATCH_ALL_VIEW
=
True
# 自定义登录模板
# 自定义登录模板
LOGIN_TEMPLATE
=
'dadmin/login.html'
LOGIN_TEMPLATE
=
None
# 登录视图需要使用的form表单类
# 登录视图需要使用的form表单类
LOGIN_FORM
=
None
LOGIN_FORM
=
None
# 退出登录模板路径
# 退出登录模板路径
...
...
DjangoMall/DJMall/settings/base.py
浏览文件 @
6c48ff32
...
@@ -33,9 +33,9 @@ SECRET_KEY = 'django-insecure-uxdgnr)5q9*9q_g#$ui$)ov^*gy-&)xo^cqq$x_w#01wbpr#pe
...
@@ -33,9 +33,9 @@ SECRET_KEY = 'django-insecure-uxdgnr)5q9*9q_g#$ui$)ov^*gy-&)xo^cqq$x_w#01wbpr#pe
# Application definition
# Application definition
INSTALLED_APPS
=
[
INSTALLED_APPS
=
[
#
'django.contrib.admin',
'django.contrib.admin'
,
# 阻止发现默认管理站点
# 阻止发现默认管理站点
'django.contrib.admin.apps.SimpleAdminConfig'
,
#
'django.contrib.admin.apps.SimpleAdminConfig',
'django.contrib.auth'
,
'django.contrib.auth'
,
'django.contrib.contenttypes'
,
'django.contrib.contenttypes'
,
'django.contrib.sessions'
,
'django.contrib.sessions'
,
...
...
DjangoMall/DJMall/urls.py
浏览文件 @
6c48ff32
...
@@ -21,11 +21,11 @@ from django.urls.conf import include
...
@@ -21,11 +21,11 @@ from django.urls.conf import include
from
apps.dadmin.admin
import
admin_site
from
apps.dadmin.admin
import
admin_site
from
DJMall
import
conf
from
DJMall
import
conf
# admin.autodiscover()
urlpatterns
=
[
urlpatterns
=
[
path
(
'admin/'
,
admin
.
site
.
urls
),
path
(
'admin/'
,
admin
.
site
.
urls
),
path
(
'dadmin/'
,
admin_site
.
urls
),
path
(
'dadmin/'
,
admin_site
.
urls
),
path
(
'byadmin/'
,
include
(
'dadmin.urls'
))
path
(
'byadmin/'
,
include
(
'dadmin.urls'
))
,
]
]
if
conf
.
DEVORDEP
==
'develop'
:
if
conf
.
DEVORDEP
==
'develop'
:
...
...
DjangoMall/apps/dadmin/admin.py
浏览文件 @
6c48ff32
...
@@ -4,8 +4,8 @@ from django.views.decorators.cache import never_cache
...
@@ -4,8 +4,8 @@ from django.views.decorators.cache import never_cache
# Register your models here.
# Register your models here.
from
DJMall
import
conf
from
DJMall
import
conf
from
dadmin
.models.rbac
import
(
from
.models.rbac
import
(
UsertoRole
,
Role
,
PermissionToActionToRole
,
Menu
,
UsertoRole
,
Role
,
PermissionToActionToRole
,
PermissionToAction
PermissionToAction
)
)
...
@@ -61,8 +61,8 @@ class DJMallAdminSite(AdminSite):
...
@@ -61,8 +61,8 @@ class DJMallAdminSite(AdminSite):
permission_action_list
=
PermissionToAction
.
objects
.
filter
(
permission_action_list
=
PermissionToAction
.
objects
.
filter
(
permissiontoactiontorole__role__in
=
roles
).
values
(
permissiontoactiontorole__role__in
=
roles
).
values
(
'permission__url'
,
'action__code'
).
distinct
()
'permission__url'
,
'action__code'
).
distinct
()
print
(
permission_action_list
)
#
print(permission_action_list)
extra_context
=
{
'index'
:
request
.
user
.
username
}
#
extra_context = {'index': request.user.username}
return
super
().
index
(
request
,
extra_context
=
extra_context
)
return
super
().
index
(
request
,
extra_context
=
extra_context
)
...
@@ -95,13 +95,40 @@ class DJMallAdminSite(AdminSite):
...
@@ -95,13 +95,40 @@ class DJMallAdminSite(AdminSite):
menu_leaf_list
=
PermissionToAction
.
objects
.
filter
(
menu_leaf_list
=
PermissionToAction
.
objects
.
filter
(
permissiontoactiontorole__role__in
=
roles
).
exclude
(
permissiontoactiontorole__role__in
=
roles
).
exclude
(
permission__menu__isnull
=
True
).
values
(
permission__menu__isnull
=
True
).
values
(
'permission__url'
,
'permission__name'
).
distinct
()
'permission_id'
,
'permission__url'
,
print
(
menu_leaf_list
)
'permission__name'
,
'permission__menu'
).
distinct
()
# 不含code
# print(menu_leaf_list)
# for item in url_list:
# 构造数据
# print(item)
menu_leaf_dict
=
{}
for
item
in
menu_leaf_list
:
# 观看到08
item
=
{
'id'
:
item
[
'permission_id'
],
'url'
:
item
[
'permission__url'
],
'name'
:
item
[
'permission__name'
],
'parent_id'
:
item
[
'permission__menu'
],
'child'
:
[]
}
if
item
[
'parent_id'
]
in
menu_leaf_dict
:
menu_leaf_dict
[
item
[
'parent_id'
]].
append
(
item
)
else
:
menu_leaf_dict
[
item
[
'parent_id'
]]
=
[
item
]
for
k
,
v
in
menu_leaf_dict
.
items
():
print
(
k
,
v
)
print
(
'挂钩上的位置'
)
menu_list
=
Menu
.
objects
.
values
(
'id'
,
'name'
,
'parent_id'
)
menu_dict
=
{}
for
item
in
menu_list
:
item
[
'child'
]
=
[]
menu_dict
[
item
[
'id'
]]
=
item
# 把袜子挂载衣钩上
for
k
,
v
in
menu_leaf_dict
.
items
():
menu_dict
[
k
][
'child'
]
=
v
for
k
,
v
in
menu_dict
.
items
():
print
(
k
,
v
)
# 观看到09
extra_context
=
{
'ceshi'
:
request
.
user
.
username
}
extra_context
=
{
'ceshi'
:
request
.
user
.
username
}
...
...
DjangoMall/apps/dadmin/apps.py
浏览文件 @
6c48ff32
...
@@ -8,10 +8,10 @@ from django.utils.module_loading import autodiscover_modules
...
@@ -8,10 +8,10 @@ from django.utils.module_loading import autodiscover_modules
# default_site = 'apps.dadmin.admin.DJMallAdminSite'
# default_site = 'apps.dadmin.admin.DJMallAdminSite'
class
DAdminConfig
(
A
dmin
Config
):
class
DAdminConfig
(
A
pp
Config
):
default_site
=
'apps.dadmin.admin.DJMallAdminSite'
default_site
=
'apps.dadmin.admin.DJMallAdminSite'
default_auto_field
=
'django.db.models.BigAutoField'
default_auto_field
=
'django.db.models.BigAutoField'
name
=
'dadmin'
name
=
'
apps.
dadmin'
verbose_name
=
'管理站点'
verbose_name
=
'管理站点'
def
ready
(
self
):
def
ready
(
self
):
...
...
DjangoMall/apps/dadmin/dadmin.py
浏览文件 @
6c48ff32
from
django.contrib
import
auth
from
django.contrib
import
admin
from
.admin
import
admin_site
from
django.contrib.auth
import
get_user_model
from
django.contrib.auth
import
get_user_model
from
django.contrib.auth.models
import
Group
from
django.contrib.auth.models
import
Group
User
=
get_user_model
()
from
.admin
import
admin_site
from
.models
import
(
from
.models
import
(
Role
,
Action
,
Permission
,
PermissionToActionToRole
,
Role
,
Action
,
Permission
,
PermissionToActionToRole
,
PermissionToAction
,
UsertoRole
,
Menu
)
PermissionToAction
,
UsertoRole
,
Menu
)
User
=
get_user_model
()
class
RoleAdmin
(
admin
.
ModelAdmin
):
list_display
=
(
'id'
,
'name'
)
admin_site
.
register
(
User
)
admin_site
.
register
(
User
)
admin_site
.
register
(
Group
)
admin_site
.
register
(
Group
)
admin_site
.
register
(
Role
)
admin_site
.
register
(
Role
,
RoleAdmin
)
admin_site
.
register
(
Action
)
admin_site
.
register
(
Action
)
admin_site
.
register
(
Permission
)
admin_site
.
register
(
Permission
)
admin_site
.
register
(
PermissionToAction
)
admin_site
.
register
(
PermissionToAction
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录