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 92aedaea9c53c18719693bda0654c4f9fd83c674..cd97e71bbe707a9d2d0dc2c579966ad6f822fe98 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" @@ -2,10 +2,15 @@ + + + - - + + + + - - - - - - - - - - - + + - + - - - - - + + @@ -81,68 +74,66 @@ - - + + - + - - + + - + - + - - - - - - - - - - - + + - + - + - - + + + + + - + - - + + + + + + - + - - + + @@ -152,8 +143,8 @@ @@ -166,12 +157,9 @@ - @@ -221,31 +219,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -276,12 +249,6 @@ - - - - - - @@ -304,11 +271,11 @@ + - @@ -370,22 +337,24 @@ + + - - + - + - + @@ -393,10 +362,10 @@ - + - - + + @@ -404,7 +373,7 @@ - + @@ -420,27 +389,9 @@ - - - - - - - - - - - - - - - - - - @@ -451,16 +402,6 @@ - - - - - - - - - - @@ -476,23 +417,30 @@ - - - - + + + + + + + + + + + - + - + @@ -502,7 +450,7 @@ - + @@ -512,15 +460,15 @@ - - + + - - - - + + + + @@ -531,48 +479,59 @@ - - - - - - - - + - - + + + + + - + - - + + + + + - + - - + + + + + + + - - + + + + + + + + + - - + + @@ -581,15 +540,80 @@ - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + 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 a9916497bfea781e82a6c4e2544667dfcfa80854..36989560884d5b6c6404dfcaa95c9ca7f86f73c7 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/luffy_permission/__pycache__/settings.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/__pycache__/settings.cpython-36.pyc" index 9e9fb4abb911cf9eff85db2af789d3c441acd5e1..d62bd4e25a3c8691470cfd2d980cf1db9e0b7271 100644 Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/__pycache__/settings.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/__pycache__/settings.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/__pycache__/urls.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/__pycache__/urls.cpython-36.pyc" index fc7a874e218adeb77bbbbb4b3fed1a34debce687..0b241098d9ddeddc99edfab61ba113298436a9ae 100644 Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/__pycache__/urls.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/__pycache__/urls.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/settings.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/settings.py" index 6c8ba115f6515303abe7ec833bbc1ef4cd650510..ccccd6007957c310ede197a8af414cd92baeaf05 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/settings.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/settings.py" @@ -47,7 +47,7 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'rbac.middlewares.middleware.AuthMiddleWare' + # 'rbac.middlewares.middleware.AuthMiddleWare' ] ROOT_URLCONF = 'luffy_permission.urls' diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/urls.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/urls.py" index 798ec5266928aef0b6899cf24eaeb2d68097bdd1..246471b2a54817b810ee02dd8268bb012feec1d9 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/urls.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/luffy_permission/urls.py" @@ -19,4 +19,5 @@ from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^', include('web.urls')), + url(r'^rbac/', include('rbac.urls')), ] diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/forms.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/forms.cpython-36.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..797f331739742c115ad4f8ee6dd8acbc121a2956 Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/forms.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 033a499821ab7151effcb1d0566a5b4f19db5579..c6bafe6580eef69da38e9c31bc4cdbc4a6ce13fb 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/__pycache__/urls.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/urls.cpython-36.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..dac31c21b402033997fb62f07a20fd0a092db263 Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/urls.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/views.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/views.cpython-36.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..53f89351f1b8d002d0cea78701aaa63a0a3972ac Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/views.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/forms.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/forms.py" new file mode 100644 index 0000000000000000000000000000000000000000..ffc89fed36aba9736ec6024cf4472aa9ac257f4b --- /dev/null +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/forms.py" @@ -0,0 +1,17 @@ +from django import forms +from rbac import models + + +class BSModelForm(forms.ModelForm): + def __init__(self, *args, **kwargs): + super(BSModelForm, self).__init__(*args, **kwargs) + for field in self.fields.values(): + if isinstance(field.widget, forms.RadioSelect): + continue + field.widget.attrs['class'] = 'form-control' + + +class RoleForm(BSModelForm): + class Meta: + model = models.Role + fields = ['name'] 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 b9116d4883930c00b490afd5a5ee26256e9faa75..429abd4e15b74b5d1b844a2e86b057b463db60e5 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 a1055c6bd14f674ffa42e66e44ecd6b8c2616316..b80acfa91ab7bfa9af1a96615d358b0281785b14 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" @@ -35,7 +35,7 @@ class AuthMiddleWare(MiddlewareMixin): if pid: # 当前访问的是一个子权限 request.current_menu_id = pid - p_permission = permissions_dict[str(pid)] + p_permission = permissions_dict[permission['pname']] request.breadcrumb_list.append({'url': p_permission['url'], 'title': p_permission['title']}) request.breadcrumb_list.append({'url': permission['url'], 'title': permission['title']}) diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0007_permission_name.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0007_permission_name.py" new file mode 100644 index 0000000000000000000000000000000000000000..5a8dc07a1a0f44a75a4212abeaea6a8c33d6f5a8 --- /dev/null +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0007_permission_name.py" @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2019-07-16 09:14 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('rbac', '0006_permission_parent'), + ] + + operations = [ + migrations.AddField( + model_name='permission', + name='name', + field=models.CharField(default='', max_length=50, verbose_name='url别名'), + preserve_default=False, + ), + ] diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0008_auto_20190716_1720.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0008_auto_20190716_1720.py" new file mode 100644 index 0000000000000000000000000000000000000000..0a49321c021bfd8952ad6dbe98a78e8e81c3d808 --- /dev/null +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/0008_auto_20190716_1720.py" @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2019-07-16 09:20 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('rbac', '0007_permission_name'), + ] + + operations = [ + migrations.AlterField( + model_name='permission', + name='name', + field=models.CharField(max_length=50, unique=True, verbose_name='url别名'), + ), + ] diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0006_permission_parent.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0006_permission_parent.cpython-36.pyc" index 7c40277bad11ff212288bb393ef856e8abcfc9b1..85227874da45f616ed7ce8cfa591441a6f38d9f6 100644 Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0006_permission_parent.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0006_permission_parent.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0007_permission_name.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0007_permission_name.cpython-36.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..2c6cdc98b501f6e3e946a9cf648874bb682d8119 Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0007_permission_name.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0008_auto_20190716_1720.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0008_auto_20190716_1720.cpython-36.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..bc3227865265e4ff0f32c779b25fbe313989d09c Binary files /dev/null and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/migrations/__pycache__/0008_auto_20190716_1720.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 2e34d8438e949712a290cfbcf31bafad051127be..d6935132fc725b585b280fc8411269c747e7034f 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" @@ -25,9 +25,10 @@ class Permission(models.Model): 没有menu_id 普通的权限 """ url = models.CharField('url地址', max_length=128) + name = models.CharField('url别名', max_length=50,unique=True) title = models.CharField('标题', max_length=32) menu = models.ForeignKey('Menu', blank=True, null=True) - parent = models.ForeignKey('self',blank=True,null=True) + parent = models.ForeignKey('self', blank=True, null=True) def __str__(self): return self.title diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/__pycache__/init_permission.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/__pycache__/init_permission.cpython-36.pyc" index 26acd17e0a3e8c643fc8a14a0e45bc8b24e115ac..bbf4ae13ec958836fada4955919695e3b6b46c9a 100644 Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/__pycache__/init_permission.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/__pycache__/init_permission.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/init_permission.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/init_permission.py" index 70c5aa75d876e7ae9bf8769ccc3ad2191bf43cd1..ddd99e84cfc2b117319f4846aaacd6e6860333e7 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/init_permission.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/service/init_permission.py" @@ -10,6 +10,8 @@ def init_permission(request, obj): 'permissions__menu__weight', 'permissions__menu_id', 'permissions__id', + 'permissions__name', + 'permissions__parent__name', 'permissions__parent_id', ).distinct() # print(permissions) @@ -29,9 +31,10 @@ def init_permission(request, obj): # # }) for i in permissions: - permissions_dict[i['permissions__id']] = {'url': i['permissions__url'], 'id': i['permissions__id'], - 'pid': i['permissions__parent_id'], - 'title': i['permissions__title']} + permissions_dict[i['permissions__name']] = {'url': i['permissions__url'], 'id': i['permissions__id'], + 'pid': i['permissions__parent_id'], + 'pname': i['permissions__parent__name'], + 'title': i['permissions__title']} if i['permissions__menu_id']: if i['permissions__menu_id'] not in menu_dict: menu_dict[i['permissions__menu_id']] = { @@ -46,8 +49,8 @@ def init_permission(request, obj): menu_dict[i['permissions__menu_id']]['children'].append( {'title': i['permissions__title'], 'url': i['permissions__url']} ) - print(menu_dict) - print(permissions_dict) + # print(menu_dict) + # print(permissions_dict) request.session[settings.PERMISSION_SESSION_KEY] = permissions_dict request.session[settings.MENU_SESSION_KEY] = menu_dict request.session['is_login'] = True diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templates/form.html" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templates/form.html" new file mode 100644 index 0000000000000000000000000000000000000000..50b3e9ef32ee7b4ad47669427a21d51cc75e7a5e --- /dev/null +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templates/form.html" @@ -0,0 +1,46 @@ +{% extends 'layout.html' %} +{% block css %} + +{% endblock %} + +{% block content %} +
+
+ {% csrf_token %} + {% for field in form_obj %} +
+ +
+ {{ field }}{{ field.errors.0 }} +
+

{{ field.non_field_errors.0 }}

+
+ {% endfor %} +
+
+ +
+
+
+
+ +{% endblock %} diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templates/rbac/role_list.html" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templates/rbac/role_list.html" new file mode 100644 index 0000000000000000000000000000000000000000..1deda179fcef08d570c1f64c660a76f9c3157d79 --- /dev/null +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templates/rbac/role_list.html" @@ -0,0 +1,27 @@ +{% extends 'layout.html' %} +{% block content %} +

角色管理

+ 新增 + + + + + + + + + + {% for role in all_role %} + + + + + + {% endfor %} + + +
序号角色名称操作
{{ forloop.counter }}{{ role.name }} + 编辑 + 删除 +
+{% endblock %} \ No newline at end of file diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/__pycache__/my_tags.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/__pycache__/my_tags.cpython-36.pyc" index 8703488e6e739e8710d46411c0546a70f0797a86..b3c81abd37fbd06ac6ba48d74eb57dccfc822836 100644 Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/__pycache__/my_tags.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/__pycache__/my_tags.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/my_tags.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/my_tags.py" index 2e358e05bf21470c603908b0389c70737b63d570..954c0c049d5a299a7f81be8f87c45d65cc8a87ec 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/my_tags.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templatetags/my_tags.py" @@ -23,7 +23,7 @@ def menu(request): m['class'] = 'active' i['class'] = '' - print(od.values()) + # print(od.values()) return {'menu_list': od.values()} @@ -31,3 +31,11 @@ def menu(request): def breadcrumb(request): breadcrumb_list = request.breadcrumb_list return {'breadcrumb_list': breadcrumb_list} + + +@register.filter +def has_permission(request, name): + permission_dict = request.session.get(settings.PERMISSION_SESSION_KEY) + if name in permission_dict: + return True + diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" index 83250604418b6808fc34aaeca3d841320f52bb4b..701a6e34ae11083a1310b8652ece3bb3aeae5dee 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" @@ -1,6 +1,8 @@ from django.conf.urls import url - +from rbac import views urlpatterns = [ - -] \ No newline at end of file + url(r'^role/list/$', views.role_list, name='role_list'), + url(r'^role/add/$', views.role_change, name='role_add'), + url(r'^role/edit/(\d+)/$', views.role_change, name='role_edit'), +] diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/views.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/views.py" new file mode 100644 index 0000000000000000000000000000000000000000..ee0d60a198c418f9b9dcbef3d5fb1fc956ade56a --- /dev/null +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/views.py" @@ -0,0 +1,19 @@ +from django.shortcuts import render, redirect, reverse, HttpResponse +from rbac import models +from rbac.forms import RoleForm + + +def role_list(request): + all_role = models.Role.objects.all() + return render(request, 'rbac/role_list.html', {'all_role': all_role}) + + +def role_change(request, pk=None): + obj = models.Role.objects.filter(pk=pk).first() + form_obj = RoleForm(instance=obj) + if request.method == 'POST': + form_obj = RoleForm(request.POST, instance=obj) + if form_obj.is_valid(): + form_obj.save() + return redirect(reverse('role_list')) + return render(request, 'form.html', {'form_obj': form_obj}) diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/__pycache__/urls.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/__pycache__/urls.cpython-36.pyc" index 2985cee5a164b2cdd131c8660ce56a9f5e7925fc..6bbc2156ce2f3f3109b4a2787bddbaaef2bbbb91 100644 Binary files "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/__pycache__/urls.cpython-36.pyc" and "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/__pycache__/urls.cpython-36.pyc" differ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/customer_list.html" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/customer_list.html" index 95386cacb630f96ac2f7840c2b64048bf2bd8079..73fde63b948767eb533ac421c270e580e617edb2 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/customer_list.html" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/templates/customer_list.html" @@ -1,12 +1,15 @@ {% extends 'layout.html' %} {% block content %} + {% load my_tags %}
- - 添加客户 - + {% if request|has_permission:'customer_add' %} + + 添加客户 + + {% endif %}
@@ -16,7 +19,9 @@ - + {% if request|has_permission:'customer_edit' or request|has_permission:'customer_del' %} + + {% endif %} @@ -27,13 +32,19 @@ - + {% if request|has_permission:'customer_edit' or request|has_permission:'customer_del' %} + + {% endif %} {% endfor %} 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 fd07c94a78259ea81dc465c2cba2ce59a7f5c307..756c5393f2c519b41acba932a7f490ad7b179131 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" @@ -58,6 +58,9 @@ + {% block css %} + + {% endblock %} @@ -127,12 +130,12 @@ {# #} {# 账单管理#} {% load my_tags %} - {% menu request %} + {# {% menu request %}#}
- {% breadcrumb request %} + {# {% breadcrumb request %}#}
{% block content %} {% endblock %}
diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/urls.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/urls.py" index 66580797398230e201628a548a8af95dba6824df..ff72fadc67e876329304e480f5a7ac2c91a82e33 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/urls.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/web/urls.py" @@ -6,13 +6,13 @@ from web.views import auth urlpatterns = [ url(r'^index/$', auth.index, name='index'), url(r'^login/$', auth.login, name='login'), - url(r'^customer/list/$', customer.customer_list), - url(r'^customer/add/$', customer.customer_add), - url(r'^customer/edit/(?P\d+)/$', customer.customer_edit), - url(r'^customer/del/(?P\d+)/$', customer.customer_del), + url(r'^customer/list/$', customer.customer_list, name='customer_list'), + url(r'^customer/add/$', customer.customer_add, name='customer_add'), + url(r'^customer/edit/(?P\d+)/$', customer.customer_edit, name='customer_edit'), + url(r'^customer/del/(?P\d+)/$', customer.customer_del, name='customer_del'), - url(r'^payment/list/$', payment.payment_list), - url(r'^payment/add/$', payment.payment_add), - url(r'^payment/edit/(?P\d+)/$', payment.payment_edit), - url(r'^payment/del/(?P\d+)/$', payment.payment_del), + url(r'^payment/list/$', payment.payment_list, name='payment_list'), + url(r'^payment/add/$', payment.payment_add, name='payment_add'), + url(r'^payment/edit/(?P\d+)/$', payment.payment_edit, name='payment_edit'), + url(r'^payment/del/(?P\d+)/$', payment.payment_del, name='payment_del'), ]
年龄 邮箱 公司选项选项
{{ row.age }} {{ row.email }} {{ row.company }} - - - | - - + {% if request|has_permission:'customer_edit' %} + + + {% endif %} + {% if request|has_permission:'customer_del' %} + + {% endif %} +