diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml"
index beb1ffe12e90626ab564f597ea881a3e117a119d..f3af2a2ffae0eeb1979a676186ae09c5982e40c0 100644
--- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml"
+++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml"
@@ -68,77 +68,124 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -203,8 +251,19 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -272,21 +331,23 @@
1562827776331
+
-
+
-
+
+
-
+
-
+
@@ -296,8 +357,8 @@
-
-
+
+
@@ -336,94 +397,101 @@
-
+
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
-
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
-
+
-
-
-
-
-
+
+
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/__pycache__/manage.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/__pycache__/manage.cpython-36.pyc"
new file mode 100644
index 0000000000000000000000000000000000000000..942b45765490f2c961ade0088224f6e41c7d1036
Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/__pycache__/manage.cpython-36.pyc" differ
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/db.sqlite3" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/db.sqlite3"
index 45a20962a8733e1a701a9b7ede4738406c0ddc44..65fecdddace6a872de2fbb22c40e4ddb7633da4b 100644
Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/db.sqlite3" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/db.sqlite3" differ
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/admin.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/admin.cpython-36.pyc"
index 1c9edf2f7543b333293e4486714f773652f58720..519f1c2448e3ef8f011ef7ad1b938b676874d444 100644
Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/admin.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/admin.cpython-36.pyc" differ
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/models.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/models.cpython-36.pyc"
index 5c9022b1f6463d45bce29c490586d74a2e93f9e9..c3c251e569c4dd52673841410e9c36625f0b7bc1 100644
Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/models.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/models.cpython-36.pyc" differ
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/admin.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/admin.py"
index 316daf04685de24071c45e95d822f3d8308d9c7f..b0611a4ce7fff6387256c29cac82963e3ba4f15f 100644
--- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/admin.py"
+++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/admin.py"
@@ -3,8 +3,8 @@ from rbac import models
class PermissionConfig(admin.ModelAdmin):
- list_display = ['id', 'url', 'title']
- list_editable = ['url', 'title']
+ list_display = ['id', 'url', 'title', 'is_menu']
+ list_editable = ['url', 'title','is_menu']
admin.site.register(models.Permission, PermissionConfig)
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/__pycache__/middleware.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/__pycache__/middleware.cpython-36.pyc"
index 9a272f3a106e48cadb3da72786bafe3d2f39cbc5..00505e820778fb1f1c7b8fdb87010e599324639c 100644
Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/__pycache__/middleware.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/__pycache__/middleware.cpython-36.pyc" differ
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/middleware.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/middleware.py"
index a18f61b505c371374d5d83465c43d34c42e9f11c..031d615f515c2a248bdad91cd6568a53f4bd2fb0 100644
--- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/middleware.py"
+++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/middlewares/middleware.py"
@@ -24,6 +24,6 @@ class AuthMiddleWare(MiddlewareMixin):
permissions = request.session.get('permissions')
# 权限的校验
for permission in permissions:
- if re.match(permission['permissions__url'], path):
+ if re.match(permission['url'], path):
return
return HttpResponse('没有访问权限,请联系管理员')
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0002_permission_is_menu.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0002_permission_is_menu.py"
new file mode 100644
index 0000000000000000000000000000000000000000..50604114472cdc8d81eccb623227745270285fd3
--- /dev/null
+++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0002_permission_is_menu.py"
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2019-07-12 09:23
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('rbac', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='permission',
+ name='is_menu',
+ field=models.BooleanField(default=False, verbose_name='是否是菜单'),
+ ),
+ ]
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0003_permission_icon.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0003_permission_icon.py"
new file mode 100644
index 0000000000000000000000000000000000000000..917b9ebe2664d86b3b102fd006a4baedf11a4864
--- /dev/null
+++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0003_permission_icon.py"
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2019-07-12 09:30
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('rbac', '0002_permission_is_menu'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='permission',
+ name='icon',
+ field=models.CharField(default='', max_length=50, verbose_name='图标'),
+ preserve_default=False,
+ ),
+ ]
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0002_permission_is_menu.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0002_permission_is_menu.cpython-36.pyc"
new file mode 100644
index 0000000000000000000000000000000000000000..bd809d120bc8da895a1df00bcbba46809a22f428
Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0002_permission_is_menu.cpython-36.pyc" differ
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0003_permission_icon.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0003_permission_icon.cpython-36.pyc"
new file mode 100644
index 0000000000000000000000000000000000000000..d669cf4437aa5fea7a4df1860e1e70632c43d39b
Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0003_permission_icon.cpython-36.pyc" differ
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/models.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/models.py"
index 2514b4d0381d0bda8d3b09bf037181a466e91bc3..312309f22c19e34e24d2aae294553be9cf33a41b 100644
--- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/models.py"
+++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/models.py"
@@ -13,6 +13,8 @@ class User(models.Model):
class Permission(models.Model):
url = models.CharField('url地址', max_length=128)
title = models.CharField('标题', max_length=32)
+ is_menu = models.BooleanField(default=False, verbose_name='是否是菜单')
+ icon = models.CharField('图标', max_length=50)
def __str__(self):
return self.title
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/layout.html" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/layout.html"
index 1e0b4cbd80de014862f75b00e0f5e04693843f9c..d332164eab3a2c3bc033f9ebf6edb02222e17fe9 100644
--- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/layout.html"
+++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/layout.html"
@@ -155,10 +155,15 @@