From 7f6879aa2c248f4b13334932e2b3de88a4e344cc Mon Sep 17 00:00:00 2001 From: careyjike Date: Fri, 18 May 2018 11:22:10 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E2=80=98=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E2=80=99=E6=8C=89=E9=92=AE=E5=9C=A8=E7=81=AB=E7=8B=90?= =?UTF-8?q?=E4=B8=8B=E6=97=A0=E5=93=8D=E5=BA=94=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/keyvalue.html | 123 +++++++++++++++++++++++----------------- 1 file changed, 72 insertions(+), 51 deletions(-) diff --git a/templates/keyvalue.html b/templates/keyvalue.html index 34ca081..069f2f3 100644 --- a/templates/keyvalue.html +++ b/templates/keyvalue.html @@ -7,7 +7,7 @@
- +
@@ -50,6 +50,9 @@ layui.use('table', function(){ } } }); + }, + addkey: function () { + window.location.href="/add/key/{{ redis_name }}/?db={{ db_id }}" } }; @@ -58,22 +61,27 @@ layui.use('table', function(){ {# 获取value #} layer.load(); if(obj.event === 'detail'){ - $.ajax({ - url: '/view/{{ redis_name }}/{{ db_id }}/' + data.key + '/', - dataType: 'json', - type: 'get', - success:function (datas) { - layer.closeAll('loading'); - layer.open({ - title: datas.data.key, - content: JSON.stringify(datas.data.value) - }); - }, - error:function () { - layer.closeAll('loading'); - layer.msg('请求错误!', {icon: 5}) - } - }); + if(auth === 3 || auth === 2 || auth === 1) { + $.ajax({ + url: '/view/{{ redis_name }}/{{ db_id }}/' + data.key + '/', + dataType: 'json', + type: 'get', + success: function (datas) { + layer.closeAll('loading'); + layer.open({ + title: datas.data.key, + content: JSON.stringify(datas.data.value) + }); + }, + error: function () { + layer.closeAll('loading'); + layer.msg('请求错误!', {icon: 5}) + } + }); + } else { + layer.msg("您没有权限噢 😯"); + layer.closeAll('loading') + } } else if(obj.event === 'del'){ if(auth === 3) { layer.confirm('真的删除么?', { @@ -125,40 +133,50 @@ layui.use('table', function(){ layer.closeAll('loading') } } else if(obj.event === 'edit_ttl'){ - $.ajax({ - url: '/view/{{ redis_name }}/{{ db_id }}/' + data.key + '/?type=ttl', - dataType: 'json', - type: 'get', - success:function (datas) { - layer.closeAll('loading'); - layer.prompt({ - title: "TTL", - formType: 0, - value: datas.data - }, function (value, index, elem) { - layer.load(); - $.ajax({ - url: '/view/{{ redis_name }}/{{ db_id }}/' + data.key + '/?type=ttl', - dataType: 'json', - type: 'post', - data: {'ttl': value}, - success:function (datas) { - layer.closeAll('loading'); - layer.msg(datas.msg); - }, - error:function () { - layer.closeAll('loading'); - layer.msg('请求错误', {icon: 5}) - } - }); - layer.close(index); - }); - }, - error:function () { - layer.closeAll('loading'); - layer.msg('请求错误!', {icon: 5}) - } - }); + if(auth === 3 || auth === 2 || auth === 1) { + $.ajax({ + url: '/view/{{ redis_name }}/{{ db_id }}/' + data.key + '/?type=ttl', + dataType: 'json', + type: 'get', + success: function (datas) { + layer.closeAll('loading'); + layer.prompt({ + title: "TTL", + formType: 0, + value: datas.data + }, function (value, index, elem) { + if(auth === 3) { + layer.load(); + $.ajax({ + url: '/view/{{ redis_name }}/{{ db_id }}/' + data.key + '/?type=ttl', + dataType: 'json', + type: 'post', + data: {'ttl': value}, + success: function (datas) { + layer.closeAll('loading'); + layer.msg(datas.msg); + }, + error: function () { + layer.closeAll('loading'); + layer.msg('请求错误', {icon: 5}) + } + }); + layer.close(index); + } else { + layer.closeAll('loading'); + layer.msg('您没有权限噢 😯') + } + }); + }, + error: function () { + layer.closeAll('loading'); + layer.msg('请求错误!', {icon: 5}) + } + }); + } else { + layer.msg("您没有权限噢 😯"); + layer.closeAll('loading') + } } }); @@ -184,6 +202,9 @@ layui.use('table', function(){ } }) }); + } else { + layer.msg("您没有权限噢 😯"); + layer.closeAll('loading') } }); }); -- Gitee From 4826275bc22a1f5d28d414aad54356bed7c7a962 Mon Sep 17 00:00:00 2001 From: careyjike Date: Fri, 18 May 2018 15:40:28 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E4=B8=BA=E5=90=90=E4=B8=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/login.html | 10 +++--- templates/register.html | 73 +++++++++++++++++++++-------------------- 2 files changed, 44 insertions(+), 39 deletions(-) diff --git a/templates/login.html b/templates/login.html index 344a4d1..e5dc6b4 100644 --- a/templates/login.html +++ b/templates/login.html @@ -35,7 +35,9 @@ {% endblock %} \ No newline at end of file diff --git a/templates/user_manage.html b/templates/user_manage.html index d3cec9c..c48516c 100644 --- a/templates/user_manage.html +++ b/templates/user_manage.html @@ -22,10 +22,9 @@ layui.use('table', function(){ elem: '#LAY_table_user' ,url: '{% url 'user_manage' %}?type=json' ,cols: [[ - {checkbox: true, fixed: true} - ,{field:'id', title: 'id', width:80, sort: true} - ,{field:'username', title: '用户名', width:120, sort: true} - ,{field:'email', title: '邮箱', width:180, sort: true} + {field:'id', title: 'id', width:80, sort: true} + ,{field:'username', title: '用户名', width:200, sort: true} + ,{field:'email', title: '邮箱', width:200, sort: true} ,{field:'is_superuser', title: '超级管理员', width:120, sort: true, templet: '#superuserTpl'} ,{field:'last_login', title: '上一次登陆时间', width:200, sort: true} ,{fixed:'right', width:180, align:'center', toolbar: '#barDemo'} @@ -104,8 +103,8 @@ layui.use('table', function(){ {% else %} -- Gitee From 6c7e0f06f081d6e6117eff1436e811180a80a801 Mon Sep 17 00:00:00 2001 From: careyjike Date: Thu, 24 May 2018 18:39:42 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=A1=B5=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/users/views.py | 37 +++++++++++++++++++ redis_admin/urls.py | 17 +++++---- templates/user_manage.html | 76 ++++++++++++++++++++++++++++++-------- 3 files changed, 106 insertions(+), 24 deletions(-) diff --git a/apps/users/views.py b/apps/users/views.py index 74a43ce..8d33afe 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -191,6 +191,43 @@ class ChangeUser(LoginRequiredMixin, View): }) +class EditUser(LoginRequiredMixin, View): + def post(self, request): + data = {'code': 0, 'data': '', 'msg': '成功'} + user_id = request.POST.get('id', None) + is_superuser = request.POST.get('is_superuser', None) + is_active = request.POST.get('is_active', None) + if user_id is None: + data['code'] = 1 + data['msg'] = 'id is not None' + return JsonResponse(data=data) + + try: + user_obj = DctUser.objects.get(id=user_id) + except Exception as e: + logs.error(e) + data['code'] = 1 + data['msg'] = '内部错误,请联系管理员!' + return JsonResponse(data=data) + + if is_superuser is None and is_active is None: + data['code'] = 1 + data['msg'] = '参数错误' + elif is_superuser: + if is_superuser == 'true': + user_obj.is_superuser = True + elif is_superuser == 'false': + user_obj.is_superuser = False + user_obj.save() + elif is_active: + if is_active == 'true': + user_obj.is_active = True + elif is_active == 'false': + user_obj.is_active = False + user_obj.save() + return JsonResponse(data=data) + + class AddUser(LoginRequiredMixin, View): def get(self, request): menu = Menu(user=request.user) diff --git a/redis_admin/urls.py b/redis_admin/urls.py index 3c5f29f..9703d8c 100644 --- a/redis_admin/urls.py +++ b/redis_admin/urls.py @@ -16,7 +16,7 @@ Including another URLconf from django.conf.urls import url from users.views import LoginViews, LogoutView from loginfo.views import OperationInfoEditView, OperationInfoDelView, UserManageView -from users.views import ChangeUser, AddUser, UserRegisterView +from users.views import ChangeUser, AddUser, UserRegisterView, EditUser from monitor.views import (GetKeyView, GetRedisInfo, CheckRedisContent, @@ -41,22 +41,23 @@ urlpatterns = [ url(r'^error/$', RedisErrorHtmlView.as_view(), name='redis_error'), url(r'^login/$', LoginViews.as_view(), name='login'), url(r'^logout/$', LogoutView.as_view(), name='logout'), - url(r'^(?P\w+)/db(?P[0-9]+)/', GetIdView.as_view(), name='getid'), - url(r'^get_key/(?P\w+)/(?P[0-9]+)/', GetKeyView.as_view(), name='getkey'), - url(r'^view/(?P\w+)/(?P[0-9]+)/(?P.*)/', GetValueView.as_view(), + url(r'^(?P\w+)/db(?P[0-9]+)/$', GetIdView.as_view(), name='getid'), + url(r'^get_key/(?P\w+)/(?P[0-9]+)/$', GetKeyView.as_view(), name='getkey'), + url(r'^view/(?P\w+)/(?P[0-9]+)/(?P.*)/$', GetValueView.as_view(), name='getvalue'), - url(r'^client/(?P[0-9]+)', ClientHtmlView.as_view(), name='client_html'), + url(r'^client/(?P[0-9]+)/$', ClientHtmlView.as_view(), name='client_html'), url(r'^client_list/$', ClientListView.as_view(), name='client_list'), url(r'^del/key/$', DelKeyView.as_view(), name='del_key'), - url(r'^edit/(?P\w+)/db(?P[0-9]+)', EditValueTableView.as_view(), + url(r'^edit/(?P\w+)/db(?P[0-9]+)/$', EditValueTableView.as_view(), name='edit_key'), - url(r'^bgsave/(?P[0-9]+)/', BgSaveView.as_view(), name='bg_save'), + url(r'^bgsave/(?P[0-9]+)/$', BgSaveView.as_view(), name='bg_save'), url(r'^operation/info/edit/$', OperationInfoEditView.as_view(), name='operation_edit'), url(r'^operation/info/del/$', OperationInfoDelView.as_view(), name='operation_del'), url(r'^user/manage/$', UserManageView.as_view(), name='user_manage'), url(r'^change/user/$', ChangeUser.as_view(), name='change_user'), url(r'^add/user/$', AddUser.as_view(), name='add_user'), - url(r'^add/key/(?P\w+)/', AddKeyView.as_view(), name='add_key'), + url(r'^edit/user/$', EditUser.as_view(), name='edit_user'), + url(r'^add/key/(?P\w+)/$', AddKeyView.as_view(), name='add_key'), url(r'^clear/db$', ClearDbView.as_view(), name='clear_db'), url(r'^register/$', UserRegisterView.as_view(), name="register"), url(r'^redis/list/$', RedisListView.as_view(), name="redis_list"), diff --git a/templates/user_manage.html b/templates/user_manage.html index c48516c..44101bd 100644 --- a/templates/user_manage.html +++ b/templates/user_manage.html @@ -15,18 +15,20 @@
- + + + + + + + {% endblock %} \ No newline at end of file -- Gitee From 6f86051584720bc823b1829be5516403d26345c9 Mon Sep 17 00:00:00 2001 From: careyjike Date: Tue, 29 May 2018 18:31:29 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E4=B8=BA=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/public/menu.py | 17 ++------- apps/users/views.py | 5 +++ templates/base.html | 79 ++++++++++++++++++++++++++++++++--------- templates/keyvalue.html | 1 - templates/login.html | 15 ++++++-- 5 files changed, 82 insertions(+), 35 deletions(-) diff --git a/apps/public/menu.py b/apps/public/menu.py index a58ff0c..a3a9d1c 100644 --- a/apps/public/menu.py +++ b/apps/public/menu.py @@ -16,26 +16,13 @@ def Menu(user): data = [] m_index = 0 for ser in servers: - id = "server%s" % m_index - redis_obj = RedisConf.objects.get(id=ser.redis) - data_is = {'name': redis_obj.name, 'status': '0', 'db': ''} + data_is = {'name': redis_obj.name, 'db': ''} status = check_redis_connect(name=redis_obj.name) if isinstance(status, bool) and status: - client, redis_name, cur_db_index = get_cl(redis_name=redis_obj.name) - try: - info_dict = client.info() - except Exception as e: - info_dict = dict(error=e) me = [] for i in range(redis_obj.database): - if "db{0}".format(i) in info_dict: - count = info_dict["db%s" % i]['keys'] - m_tar = {"pId": id, "count": count, "name": "db%s" % i} - else: - count = 0 - m_tar = {"pId:": id, "count": count, "name": "db%s" % i} - me.append(m_tar) + me.append('db{0}'.format(i)) data_is['db'] = me data.append(data_is) m_index += 1 diff --git a/apps/users/views.py b/apps/users/views.py index 8d33afe..d6e122e 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -68,6 +68,11 @@ class LoginViews(View): redis_name = RedisConf.objects.get(id=ser.redis) user_premission[redis_name.name] = ser.pre_auth data["data"] = user_premission + data["menu"] = Menu(user=user) + left_menu = [] + for i in data['menu']: + left_menu.append(i['name']) + data['left_menu'] = left_menu return JsonResponse(data) else: data["code"] = 1 diff --git a/templates/base.html b/templates/base.html index 9eb59b1..02ac7eb 100644 --- a/templates/base.html +++ b/templates/base.html @@ -43,22 +43,8 @@
-
+
@@ -86,11 +72,70 @@ layui.use('element', function(){ var element = layui.element, csrftoken = Cookies.get('csrftoken'), - $ = layui.jquery; + $ = layui.jquery, + data = layui.data('menu'); + + // 获取当前菜单 + element.on('nav(test)', function (elem) { + layui.each(data.list, function (index, item) { + if(item.name === elem.text()){ + layui.data('menu', { + key: 'one', + value: elem.text() + }) + } else if(item.name !== elem.text()){ + layui.data('menu', { + key: 'two', + value: elem.text() + }) + } + }); + }); + + // 设置CSRF Token $.ajaxSetup({ - headers: {'X-CSRFToken': csrftoken} + headers: {'X-CSRFToken': csrftoken} }); + }); +{% verbatim %} + +{% endverbatim %} + + \ No newline at end of file diff --git a/templates/keyvalue.html b/templates/keyvalue.html index 7603d78..980e157 100644 --- a/templates/keyvalue.html +++ b/templates/keyvalue.html @@ -23,7 +23,6 @@ layui.use('table', function(){ auth = localdata.{{ redis_name }}, $ = layui.jquery; - console.log(auth); //方法级渲染 table.render({ diff --git a/templates/login.html b/templates/login.html index e5dc6b4..ea472fb 100644 --- a/templates/login.html +++ b/templates/login.html @@ -48,9 +48,19 @@ for (var item in result.data){ layui.data('premission', { key: item, - value: result.data[item] + value: result.data[item] }) } + for (var menu in result.menu){ + layui.data('menu', { + key: 'list', + value: result.menu + }); + } + layui.data('menu', { + key: 'left_menu', + value: result.left_menu + }); window.location.href='/?pre=true' } else { layer.msg(result.msg); @@ -75,7 +85,8 @@ $.ajaxSetup({ headers: {'X-CSRFToken': csrftoken} }); - layui.data('premission', null) + layui.data('premission', null); + layui.data('menu', null) }); -- Gitee From 7d7ca134f1d0c851901c145a02078f1f7b56abdd Mon Sep 17 00:00:00 2001 From: careyjike Date: Tue, 29 May 2018 18:51:32 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E8=8F=9C=E5=8D=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/base.html | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/templates/base.html b/templates/base.html index 02ac7eb..abc4130 100644 --- a/templates/base.html +++ b/templates/base.html @@ -79,10 +79,17 @@ layui.use('element', function(){ element.on('nav(test)', function (elem) { layui.each(data.list, function (index, item) { if(item.name === elem.text()){ - layui.data('menu', { - key: 'one', - value: elem.text() - }) + if(elem.text() === data.one){ + layui.data('menu', { + key: 'one', + value: '' + }) + } else { + layui.data('menu', { + key: 'one', + value: elem.text() + }) + } } else if(item.name !== elem.text()){ layui.data('menu', { key: 'two', -- Gitee From 6cdaf470b000a3601d4b02944366e4953ad9fdac Mon Sep 17 00:00:00 2001 From: careyjike Date: Tue, 29 May 2018 18:54:04 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/loginfo/views.py | 6 ------ apps/monitor/views.py | 16 ---------------- apps/users/views.py | 6 ------ 3 files changed, 28 deletions(-) diff --git a/apps/loginfo/views.py b/apps/loginfo/views.py index 4c8439d..433b16f 100644 --- a/apps/loginfo/views.py +++ b/apps/loginfo/views.py @@ -19,7 +19,6 @@ class OperationInfoEditView(LoginRequiredMixin, View): """ def get(self, request): - menu = Menu(user=request.user) if request.GET.get('type', None) == 'json': "分页" @@ -42,7 +41,6 @@ class OperationInfoEditView(LoginRequiredMixin, View): return JsonResponse(data, safe=False) return render(request, 'operation_edit.html', { - 'menu': menu, 'record': 'record', }) @@ -53,7 +51,6 @@ class OperationInfoDelView(LoginRequiredMixin, View): """ def get(self, request): - menu = Menu(user=request.user) if request.GET.get('type', None) == 'json': limit = int(request.GET.get('limit', 30)) @@ -75,7 +72,6 @@ class OperationInfoDelView(LoginRequiredMixin, View): return JsonResponse(data, safe=False) return render(request, 'operation_del.html', { - 'menu': menu, 'record': 'record', }) @@ -102,10 +98,8 @@ class UserManageView(LoginRequiredMixin, View): return JsonResponse(data, safe=False) - menu = Menu(user=request.user) return render(request, 'user_manage.html', { - 'menu': menu, 'top_menu': 'user', }) diff --git a/apps/monitor/views.py b/apps/monitor/views.py index 43a96ff..25a6893 100644 --- a/apps/monitor/views.py +++ b/apps/monitor/views.py @@ -25,7 +25,6 @@ class GetRedisInfo(LoginRequiredMixin, View): def get(self, request): # print request.META["HTTP_REFERER"] - menu = Menu(user=request.user) servers = get_redis_conf(name=None, user=request.user) data = [] for ser in servers: @@ -43,7 +42,6 @@ class GetRedisInfo(LoginRequiredMixin, View): return render(request, 'index.html', { 'data': data, - 'menu': menu, 'console': 'console', }) @@ -54,9 +52,7 @@ class RedisErrorHtmlView(LoginRequiredMixin, View): """ def get(self, request): - menu = Menu(user=request.user) return render(request, 'redis_error.html', { - 'menu': menu, 'error': 'error', }) @@ -171,10 +167,8 @@ class GetIdView(LoginRequiredMixin, View): key列表 """ def get(self, request, redis_name, id): - menu = Menu(user=request.user) return render(request, 'keyvalue.html', { 'db_id': id, - 'menu': menu, 'redis_name': redis_name, 'db_num': 'db' + str(id), }) @@ -208,11 +202,9 @@ class ClientListView(LoginRequiredMixin, View): class ClientHtmlView(LoginRequiredMixin, View): def get(self, request, client_id): - menu = Menu(user=request.user) return render(request, 'client_list.html', { 'client_id': client_id, - 'menu': menu }) @@ -260,7 +252,6 @@ class EditValueTableView(LoginRequiredMixin, View): 编辑value """ def get(self, request, redis_name, edit_db_id): - menu = Menu(user=request.user) from public.redis_api import get_cl from public.data_view import get_value cl, redis_name, cur_db_index = get_cl(redis_name, int(edit_db_id)) @@ -277,7 +268,6 @@ class EditValueTableView(LoginRequiredMixin, View): value['value'] = value_list return render(request, 'edit.html', { - 'menu': menu, 'db_num': 'db' + str(edit_db_id), 'redis_name': redis_name, 'data': value, @@ -291,7 +281,6 @@ class EditValueTableView(LoginRequiredMixin, View): cl, cur_server_index, cur_db_index = get_cl(redis_name, int(edit_db_id)) ch_data = ChangeData(redis_name=redis_name, db_id=edit_db_id) - menu = Menu(user=request.user) key = request.GET.get('key', None) post_key_type = request.POST.get('Type', None) @@ -340,7 +329,6 @@ class EditValueTableView(LoginRequiredMixin, View): db.save() return render(request, 'edit.html', { - 'menu': menu, 'db_num': 'db' + str(edit_db_id), 'redis_name': redis_name, 'data': data @@ -364,12 +352,10 @@ class AddKeyView(LoginRequiredMixin, View): 添加数据 """ def get(self, request, redis_name): - menu = Menu(user=request.user) this_tab = 'string' db_id = request.GET.get('db', None) return render(request, 'add_key.html', { - 'menu': menu, 'this_tab': this_tab, 'db': db_id, }) @@ -424,9 +410,7 @@ class RedisListView(LoginRequiredMixin, View): redis_objs = RedisConf.objects.all() data["data"] = serializer(redis_objs) return JsonResponse(data=data) - menu = Menu(user=request.user) return render(request, 'redis_list.html', { - 'menu': menu, }) diff --git a/apps/users/views.py b/apps/users/views.py index d6e122e..20c80b6 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -104,7 +104,6 @@ class ChangeUser(LoginRequiredMixin, View): }) def post(self, request): - menu = Menu(user=request.user) id = request.POST.get('id', None) password1 = request.POST.get('password1', None) @@ -190,7 +189,6 @@ class ChangeUser(LoginRequiredMixin, View): error = e return render(request, 'change_user.html', { - 'menu': menu, 'user_info': user, 'error': error }) @@ -235,16 +233,13 @@ class EditUser(LoginRequiredMixin, View): class AddUser(LoginRequiredMixin, View): def get(self, request): - menu = Menu(user=request.user) redis = RedisConf.objects.all() return render(request, 'add_user.html', { - 'menu': menu, 'rediss': redis, }) def post(self, request): - menu = Menu(user=request.user) username = request.POST.get('username', None) password1 = request.POST.get('password1', None) @@ -283,7 +278,6 @@ class AddUser(LoginRequiredMixin, View): return HttpResponseRedirect(reverse("user_manage")) except Exception as e: return render(request, 'add_user.html', { - 'menu': menu, 'user_error': e, }) -- Gitee From 7c5a288aba61ed94a85aae3f6e74e0f68bc17c20 Mon Sep 17 00:00:00 2001 From: careyjike Date: Thu, 31 May 2018 14:42:47 +0800 Subject: [PATCH 13/14] delete sqlite --- sqlite | Bin 135168 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 sqlite diff --git a/sqlite b/sqlite deleted file mode 100644 index 0ef02156907b26495fe3ee99099f856a2c3dca65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135168 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 -- Gitee From 26ee24635f3efb4119b3e9cfed94c061fcb19f0a Mon Sep 17 00:00:00 2001 From: careyjike Date: Thu, 31 May 2018 14:43:00 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=9F=E6=88=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8=E6=96=87=E4=BB=B6=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 41309c6..8e6b840 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,12 @@ database = { } ``` +### 生成数据库表文件 + +``` +python manage.py migrate +``` + ### nginx 安装nginx, 使用我的另一个开源安装脚本安装nginx -- Gitee