From 9778330d1701e92db76c60c4670a8cbd708f6498 Mon Sep 17 00:00:00 2001 From: yangjian <3280350050@qq.com> Date: Thu, 25 Jul 2019 15:25:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=A7=86=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_admin/urls.py | 3 + app_admin/views.py | 100 +++++++++++++-- app_doc/templatetags/project_filter.py | 12 ++ db.sqlite3 | Bin 348160 -> 348160 bytes template/app_admin/admin_base.html | 14 ++- template/app_admin/admin_doc.html | 101 ++++++++++++++++ template/app_admin/admin_doctemp.html | 100 +++++++++++++++ template/app_admin/admin_project.html | 161 +++++++++++++++++++++++++ template/app_admin/admin_user.html | 8 +- template/app_doc/manage_base.html | 3 +- template/app_doc/pro_list.html | 6 +- 11 files changed, 490 insertions(+), 18 deletions(-) create mode 100644 app_doc/templatetags/project_filter.py create mode 100644 template/app_admin/admin_doc.html create mode 100644 template/app_admin/admin_doctemp.html create mode 100644 template/app_admin/admin_project.html diff --git a/app_admin/urls.py b/app_admin/urls.py index 43a1c5f..0221ffc 100644 --- a/app_admin/urls.py +++ b/app_admin/urls.py @@ -7,4 +7,7 @@ urlpatterns = [ path('register/',views.register,name="register"), # 注册 path('user_manage/',views.admin_user,name="user_manage"), # 用户管理 path('create/',views.admin_create_user,name="create_user"), # 新建用户 + path('project_manage/',views.admin_project,name='project_manage'), # 文集管理 + path('doc_manage/',views.admin_doc,name='doc_manage'), # 文集管理 + path('doctemp_manage/',views.admin_doctemp,name='doctemp_manage'), # 文集管理 ] \ No newline at end of file diff --git a/app_admin/views.py b/app_admin/views.py index 5685798..49af1d0 100644 --- a/app_admin/views.py +++ b/app_admin/views.py @@ -3,18 +3,12 @@ from django.http.response import JsonResponse from django.contrib.auth import authenticate,login,logout # 认证相关方法 from django.contrib.auth.models import User # Django默认用户模型 from django.contrib.auth.decorators import login_required # 登录需求装饰器 +from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage,InvalidPage from app_admin.decorators import superuser_only import json import datetime +from app_doc.models import * -class DateEncoder(json.JSONEncoder): - def default(self, obj): - if isinstance(obj, datetime.datetime): - return obj.strftime('%Y-%m-%d %H:%M:%S') - elif isinstance(obj, datetime.date): - return obj.strftime("%Y-%m-%d") - else: - return json.JSONEncoder.default(self, obj) # 登录视图 def log_in(request): @@ -73,6 +67,7 @@ def register(request): errormsg = '请输入正确的电子邮箱格式!' return render(request, 'register.html', locals()) + # 注销 def log_out(request): try: @@ -82,6 +77,7 @@ def log_out(request): # logger.error(e) return redirect(request.META['HTTP_REFERER']) + # 管理员后台首页 - 用户管理 @superuser_only def admin_user(request): @@ -112,6 +108,7 @@ def admin_user(request): table_data.append(item) return JsonResponse({'status':True,'data':table_data}) + # 管理员后台首页 - 创建用户 @superuser_only def admin_create_user(request): @@ -144,6 +141,91 @@ def admin_change_pwd(request): def admin_del_user(request): pass + +# 管理员后台 - 文集管理 +@superuser_only +def admin_project(request): + if request.method == 'GET': + username = request.GET.get('kw','') + if username == '': + project_list = Project.objects.all() + paginator = Paginator(project_list,20) + page = request.GET.get('page',1) + try: + projects = paginator.page(page) + except PageNotAnInteger: + projects = paginator.page(1) + except EmptyPage: + projects = paginator.page(paginator.num_pages) + else: + project_list = Project.objects.filter(intro__icontains=username) + paginator = Paginator(project_list, 20) + page = request.GET.get('page', 1) + try: + projects = paginator.page(page) + except PageNotAnInteger: + projects = paginator.page(1) + except EmptyPage: + projects = paginator.page(paginator.num_pages) + return render(request,'app_admin/admin_project.html',locals()) + + +# 管理员后台 - 文档管理 +@superuser_only +def admin_doc(request): + if request.method == 'GET': + kw = request.GET.get('kw','') + if kw == '': + doc_list = Doc.objects.all() + paginator = Paginator(doc_list, 10) + page = request.GET.get('page', 1) + try: + docs = paginator.page(page) + except PageNotAnInteger: + docs = paginator.page(1) + except EmptyPage: + docs = paginator.page(paginator.num_pages) + else: + doc_list = Doc.objects.filter(pre_content__icontains=kw) + paginator = Paginator(doc_list, 10) + page = request.GET.get('page', 1) + try: + docs = paginator.page(page) + except PageNotAnInteger: + docs = paginator.page(1) + except EmptyPage: + docs = paginator.page(paginator.num_pages) + return render(request,'app_admin/admin_doc.html',locals()) + + +# 管理员后台 - 文档模板管理 +@superuser_only +def admin_doctemp(request): + if request.method == 'GET': + kw = request.GET.get('kw','') + if kw == '': + doctemp_list = DocTemp.objects.all() + paginator = Paginator(doctemp_list, 10) + page = request.GET.get('page', 1) + try: + doctemps = paginator.page(page) + except PageNotAnInteger: + doctemps = paginator.page(1) + except EmptyPage: + doctemps = paginator.page(paginator.num_pages) + else: + doctemp_list = DocTemp.objects.filter(content__icontains=kw) + paginator = Paginator(doctemp_list, 10) + page = request.GET.get('page', 1) + try: + doctemps = paginator.page(page) + except PageNotAnInteger: + doctemps = paginator.page(1) + except EmptyPage: + doctemps = paginator.page(paginator.num_pages) + return render(request,'app_admin/admin_doctemp.html',locals()) + + # 普通用户修改密码 def change_pwd(request): - pass \ No newline at end of file + pass diff --git a/app_doc/templatetags/project_filter.py b/app_doc/templatetags/project_filter.py new file mode 100644 index 0000000..1f7bac0 --- /dev/null +++ b/app_doc/templatetags/project_filter.py @@ -0,0 +1,12 @@ +# coding:utf-8 +# 文档自定义模板过滤器 +from app_doc.models import * +from django import template + +register = template.Library() + + +# 获取文集下的文档数量 +@register.filter(name='get_doc_count') +def get_doc_count(value): + return Doc.objects.filter(top_doc=int(value)).count() diff --git a/db.sqlite3 b/db.sqlite3 index b258efd2e93ba4ec91af274eecba62b8ee39f217..6f015572be545611e68a81611fd5618d1e096b43 100644 GIT binary patch delta 293 zcmZozAlk4%bb>VF?1?hYjI%c;B+VBzRWLBNGBCF?GS)LNF}5@{+aV0zbGmbG)u$(rB_~XZ3Aib+o85$}>+dEw(I4O)5+(N-Z-qGc7AI zE;P=pswgQgtK7WiEi0p>1(NZmK;w;@tQo=Dr$2blsId9fJMoWTyZCb%__y;<;?L#3 zvso}9mVbKgdqyu66=q*XLiS9*{hm<`Vn!VFjEOSNj59VSB+VBzQ7|yDGBvj{Fx4|LH8(ak-+Xz#o&!H`3j;GZ z2LsaV0zbGmbG)u$(qLd zN-D0(t2D1ls@S~dEi0p>Ig;^a#>U1LP1cO8Anns1yk}I{{OX}i~v_JgM2*gZ4%)I^Ke-`-w05rc`g8%>k diff --git a/template/app_admin/admin_base.html b/template/app_admin/admin_base.html index 4cd7d54..37b5613 100644 --- a/template/app_admin/admin_base.html +++ b/template/app_admin/admin_base.html @@ -16,12 +16,16 @@
  • - + {{request.user.username}}
    @@ -36,13 +40,13 @@
    • - 文集管理 + 文集管理
    • - 文档管理 + 文档管理
    • - 文档模板管理 + 文档模板管理
    • {% if request.user.is_superuser %}
    • diff --git a/template/app_admin/admin_doc.html b/template/app_admin/admin_doc.html new file mode 100644 index 0000000..09351d7 --- /dev/null +++ b/template/app_admin/admin_doc.html @@ -0,0 +1,101 @@ +{% extends 'app_admin/admin_base.html' %} +{% load staticfiles %} +{% block title %}文档管理{% endblock %} +{% block content %} +
      +
      + 文档管理 + +
      +
      +
      +
      +
      +
      + +
      + + +
      +
      +
      + +
      + + + + + + + + + + + + + {% load doc_filter %} + {% for doc in docs %} + + + + + + + + + {% endfor %} + +
      文档名称上级文档所属文集创建人创建时间操作
      {{ doc.name }}{{ doc.parent_doc|get_doc_parent }}{{ doc.top_doc|get_doc_top }}{{ doc.create_user }}{{ doc.create_time }} +{# 查看#} + 修改 + 删除 +
      +
      + +
      + +
      +{% endblock %} +{% block custom_script %} + +{% endblock %} \ No newline at end of file diff --git a/template/app_admin/admin_doctemp.html b/template/app_admin/admin_doctemp.html new file mode 100644 index 0000000..5ea1daf --- /dev/null +++ b/template/app_admin/admin_doctemp.html @@ -0,0 +1,100 @@ +{% extends 'app_admin/admin_base.html' %} +{% load staticfiles %} +{% block title %}文档模板管理{% endblock %} +{% block content %} +
      +
      + 文档模板管理 + +
      +
      +
      +
      +
      +
      + +
      + + +
      +
      +
      +
      + + + + + + + + + + + + + + + + {% for temp in doctemps %} + + + + + + + {% endfor %} + +
      模板名称创建人创建时间操作
      {{ temp.name }}{{ temp.create_user }}{{ temp.create_time }} +{# 查看#} + 修改 + 删除 +
      +
      + +
      + +
      +{% endblock %} +{% block custom_script %} + +{% endblock %} \ No newline at end of file diff --git a/template/app_admin/admin_project.html b/template/app_admin/admin_project.html new file mode 100644 index 0000000..e863a52 --- /dev/null +++ b/template/app_admin/admin_project.html @@ -0,0 +1,161 @@ +{% extends 'app_admin/admin_base.html' %} +{% load staticfiles %} +{% block title %}文集管理{% endblock %} +{% block content %} +
      +
      + 文集管理 + +
      +
      +
      +
      +
      +
      + +
      + + +
      +
      +
      +
      + + + + + + + + + + + + + {% for pro in projects %} + + + + {% load project_filter %} + + + + + + {% endfor %} + +
      文集名称文集简介文档数量创建时间所属用户操作
      {{ pro.name }}{{ pro.intro }}{{ pro.id | get_doc_count }}{{ pro.create_time }}{{ pro.create_user }} + 查看 + 修改 + 删除 +
      +
      + +
      + +
      +{% endblock %} + +{% block custom_script %} + +{% endblock %} \ No newline at end of file diff --git a/template/app_admin/admin_user.html b/template/app_admin/admin_user.html index 9ff673a..4b03d58 100644 --- a/template/app_admin/admin_user.html +++ b/template/app_admin/admin_user.html @@ -9,13 +9,16 @@
+{#
#} +{# {% csrf_token %}#}
- - + +
+{#
#}
@@ -122,5 +125,6 @@ }; //页面加载执行 获取所有用户信息 getUserInfo(); + {% endblock %} \ No newline at end of file diff --git a/template/app_doc/manage_base.html b/template/app_doc/manage_base.html index 51ffa4b..335d5fa 100644 --- a/template/app_doc/manage_base.html +++ b/template/app_doc/manage_base.html @@ -20,7 +20,8 @@
    diff --git a/template/app_doc/pro_list.html b/template/app_doc/pro_list.html index 998af7c..4f013a6 100644 --- a/template/app_doc/pro_list.html +++ b/template/app_doc/pro_list.html @@ -11,7 +11,8 @@
    {#
    #} {#
    #} @@ -26,6 +27,9 @@
    + {% if request.user.is_superuser %} +
    进入后台
    + {% endif %}
    管理文档
    修改密码
    退出登录