完善管理员相关视图
This commit is contained in:
parent
8bbe92710e
commit
9778330d17
@ -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'), # 文集管理
|
||||
]
|
||||
@ -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
|
||||
pass
|
||||
|
||||
12
app_doc/templatetags/project_filter.py
Normal file
12
app_doc/templatetags/project_filter.py
Normal file
@ -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()
|
||||
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
@ -16,12 +16,16 @@
|
||||
<div class="layui-header">
|
||||
<div class="layui-logo">
|
||||
<a class="logo" href="{% url 'pro_list' %}">
|
||||
<img src="/media/logo-white.png" />
|
||||
{# <img src="/media/logo-white.png" />#}
|
||||
<h1 style="color: white;">
|
||||
<strong>MrDoc</strong>
|
||||
<span style="font-size: 16px;">后台管理</span>
|
||||
</h1>
|
||||
</a>
|
||||
</div>
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;">
|
||||
<a href="javascript:void(0);">
|
||||
<i class="layui-icon layui-icon-username"></i> {{request.user.username}}
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
@ -36,13 +40,13 @@
|
||||
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="test">
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a href=""><i class="layui-icon layui-icon-list"></i> 文集管理</a>
|
||||
<a href="{% url 'project_manage' %}"><i class="layui-icon layui-icon-list"></i> 文集管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a href=""><i class="layui-icon layui-icon-file-b"></i> 文档管理</a>
|
||||
<a href="{% url 'doc_manage' %}"><i class="layui-icon layui-icon-file-b"></i> 文档管理</a>
|
||||
</li>
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
<a href=""><i class="layui-icon layui-icon-template"></i> 文档模板管理</a>
|
||||
<a href="{% url 'doctemp_manage' %}"><i class="layui-icon layui-icon-template"></i> 文档模板管理</a>
|
||||
</li>
|
||||
{% if request.user.is_superuser %}
|
||||
<li class="layui-nav-item layui-nav-itemed">
|
||||
|
||||
101
template/app_admin/admin_doc.html
Normal file
101
template/app_admin/admin_doc.html
Normal file
@ -0,0 +1,101 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% block title %}文档管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
<div class="layui-row">
|
||||
<span style="font-size:18px;">文档管理
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row">
|
||||
<form action="{% url 'doc_manage' %}" method="get">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="kw" id="kw" placeholder="输入文档内容" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="submit">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal"><a href="{% url 'create_doc' %}" target="_blank" style="color: white;">新建文档</a></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- 表格数据 -->
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<table class="layui-table" id="doctemp-list" lay-skin="line">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>文档名称</th>
|
||||
<th>上级文档</th>
|
||||
<th>所属文集</th>
|
||||
<th>创建人</th>
|
||||
<th>创建时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% load doc_filter %}
|
||||
{% for doc in docs %}
|
||||
<tr>
|
||||
<td>{{ doc.name }}</td>
|
||||
<td>{{ doc.parent_doc|get_doc_parent }}</td>
|
||||
<td>{{ doc.top_doc|get_doc_top }}</td>
|
||||
<td>{{ doc.create_user }}</td>
|
||||
<td>{{ doc.create_time }}</td>
|
||||
<td>
|
||||
{# <a href="javascript:void(0);" onclick="insertTemp('{{temp.id}}');">查看</a>#}
|
||||
<a href="{% url 'modify_doc' doc_id=doc.id %}" target="_blank">修改</a>
|
||||
<a href="javascript:void(0);" onclick="delDoc('{{doc.id}}');">删除</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 分页 -->
|
||||
<div class="layui-row">
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if docs.has_previous %}
|
||||
<a href="?page={{ docs.previous_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ docs.number }} 共 {{ docs.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if docs.has_next %}
|
||||
<a href="?page={{ docs.next_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
<script>
|
||||
delDoc = function(doc_id){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'删除文档',
|
||||
area:'300px;',
|
||||
id:'delPro',//配置ID
|
||||
content:'<div style="margin-left:10px;">警告:此操作将删除此文档!</div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
data = {
|
||||
'doc_id':doc_id,
|
||||
}
|
||||
$.post("{% url 'del_doc' %}",data,function(r){
|
||||
if(r.status){
|
||||
//修改成功
|
||||
window.location.reload();
|
||||
//layer.close(index)
|
||||
}else{
|
||||
//修改失败,提示
|
||||
console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
100
template/app_admin/admin_doctemp.html
Normal file
100
template/app_admin/admin_doctemp.html
Normal file
@ -0,0 +1,100 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% block title %}文档模板管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
<div class="layui-row">
|
||||
<span style="font-size:18px;">文档模板管理
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row">
|
||||
<form action="{% url 'doctemp_manage' %}" method="get">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="kw" id="kw" placeholder="输入文档模板内容" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="submit">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal" type="button"><a href="{% url 'create_doctemp' %}" target="_blank" style="color: white;">新建文档模板</a></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<table class="layui-table" id="doctemp-list" lay-skin="line">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="200">
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>模板名称</th>
|
||||
<th>创建人</th>
|
||||
<th>创建时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for temp in doctemps %}
|
||||
<tr>
|
||||
<td>{{ temp.name }}</td>
|
||||
<td>{{ temp.create_user }}</td>
|
||||
<td>{{ temp.create_time }}</td>
|
||||
<td>
|
||||
{# <a href="javascript:void(0);" onclick="insertTemp('{{temp.id}}');">查看</a>#}
|
||||
<a href="{% url 'modify_doctemp' doctemp_id=temp.id %}" target="_blank">修改</a>
|
||||
<a href="javascript:void(0);" onclick="delTemp('{{temp.id}}');">删除</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 分页 -->
|
||||
<div class="layui-row">
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if doctemps.has_previous %}
|
||||
<a href="?page={{ doctemps.previous_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ doctemps.number }} 共 {{ doctemps.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if doctemps.has_next %}
|
||||
<a href="?page={{ doctemps.next_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
<script>
|
||||
delTemp = function(doctemp_id){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'删除文档',
|
||||
area:'300px;',
|
||||
id:'delPro',//配置ID
|
||||
content:'<div style="margin-left:10px;">警告:此操作将删除此文档模板!</div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
data = {
|
||||
'doctemp_id':doctemp_id,
|
||||
}
|
||||
$.post("{% url 'del_doctemp' %}",data,function(r){
|
||||
if(r.status){
|
||||
//修改成功
|
||||
window.location.reload();
|
||||
//layer.close(index)
|
||||
}else{
|
||||
//修改失败,提示
|
||||
console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
161
template/app_admin/admin_project.html
Normal file
161
template/app_admin/admin_project.html
Normal file
@ -0,0 +1,161 @@
|
||||
{% extends 'app_admin/admin_base.html' %}
|
||||
{% load staticfiles %}
|
||||
{% block title %}文集管理{% endblock %}
|
||||
{% block content %}
|
||||
<div class="layui-card-header" style="margin-bottom: 10px;">
|
||||
<div class="layui-row">
|
||||
<span style="font-size:18px;">文集管理
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row">
|
||||
<form action="{% url 'project_manage' %}" method="get">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="kw" id="kw" placeholder="输入文集内容" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="submit">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal" onclick="createProject()" type="button">新建文集</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<table class="layui-table" id="doctemp-list" lay-skin="line">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>文集名称</th>
|
||||
<th>文集简介</th>
|
||||
<th>文档数量</th>
|
||||
<th>创建时间</th>
|
||||
<th>所属用户</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for pro in projects %}
|
||||
<tr>
|
||||
<td>{{ pro.name }}</td>
|
||||
<td>{{ pro.intro }}</td>
|
||||
{% load project_filter %}
|
||||
<td>{{ pro.id | get_doc_count }}</td>
|
||||
<td>{{ pro.create_time }}</td>
|
||||
<td>{{ pro.create_user }}</td>
|
||||
<td>
|
||||
<a href="{% url 'pro_index' pro_id=pro.id %}" target="_blank">查看</a>
|
||||
<a href="javascript:void(0);" onclick="modifyProject('{{pro.id}}','{{pro.name}}','{{pro.intro}}')">修改</a>
|
||||
<a href="javascript:void(0);" onclick="delProject('{{pro.id}}');">删除</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 分页 -->
|
||||
<div class="layui-row">
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
{% if projects.has_previous %}
|
||||
<a href="?page={{ projects.previous_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">上一页</a>
|
||||
{% endif %}
|
||||
<span class="current">
|
||||
当前页: {{ projects.number }} 共 {{ projects.paginator.num_pages }} 页
|
||||
</span>
|
||||
{% if projects.has_next %}
|
||||
<a href="?page={{ projects.next_page_number }}" class="layui-btn layui-btn-normal layui-btn-xs">下一页</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block custom_script %}
|
||||
<script>
|
||||
$.ajaxSetup({
|
||||
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
|
||||
});
|
||||
createProject = function(){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'新建文集',
|
||||
area:'300px;',
|
||||
id:'createPro',//配置ID
|
||||
content:'<div style="padding: 20px;"><input class="layui-input" type="text" id="pname" style="margin-bottom:10px;" placeholder="输入文集名" required lay-verify="required"><textarea name="desc" id="desc" placeholder="输入文集简介" class="layui-textarea"></textarea></div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
data = {
|
||||
'pname':$("#pname").val(),
|
||||
'desc':$("#desc").val(),
|
||||
}
|
||||
$.post("{% url 'create_project' %}",data,function(r){
|
||||
if(r.status){
|
||||
//创建成功
|
||||
window.location.reload();
|
||||
//layer.close(index)
|
||||
}else{
|
||||
//创建失败,提示
|
||||
console.log(r)
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
};
|
||||
modifyProject = function(pro_id,pro_name,pro_intro){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'修改文集',
|
||||
area:'300px;',
|
||||
id:'modifyPro',//配置ID
|
||||
content:'<div style="padding: 20px;"><input class="layui-input" type="text" id="pname" style="margin-bottom:10px;" placeholder="输入文集名" required lay-verify="required" value="'+pro_name+'"><textarea name="desc" id="desc" placeholder="输入文集简介" class="layui-textarea">'+pro_intro+'</textarea></div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
data = {
|
||||
'pro_id':pro_id,
|
||||
'name':$("#pname").val(),
|
||||
'desc':$("#desc").val(),
|
||||
}
|
||||
$.post("{% url 'modify_project' %}",data,function(r){
|
||||
if(r.status){
|
||||
//修改成功
|
||||
window.location.reload();
|
||||
//layer.close(index)
|
||||
}else{
|
||||
//修改失败,提示
|
||||
console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
};
|
||||
delProject = function(pro_id){
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'删除文集',
|
||||
area:'300px;',
|
||||
id:'delPro',//配置ID
|
||||
content:'<div style="margin-left:10px;">警告:此操作将删除文集及文集下所有文档!</div>',
|
||||
btn:['确定','取消'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
yes:function (index,layero) {
|
||||
data = {
|
||||
'pro_id':pro_id,
|
||||
}
|
||||
$.post("{% url 'del_project' %}",data,function(r){
|
||||
if(r.status){
|
||||
//修改成功
|
||||
window.location.reload();
|
||||
//layer.close(index)
|
||||
}else{
|
||||
//修改失败,提示
|
||||
console.log(r)
|
||||
layer.msg(r.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
@ -9,13 +9,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row">
|
||||
{# <form action="{% url 'user_manage' %}" method="post">#}
|
||||
{# {% csrf_token %}#}
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="username" id="username" required lay-verify="required" placeholder="输入用户名" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal" onclick="createUser()">添加用户</button>
|
||||
<button class="layui-btn layui-btn-normal" onclick="getUserInfo()">搜索</button>
|
||||
<button class="layui-btn layui-btn-normal" onclick="createUser()" type="button">添加用户</button>
|
||||
</div>
|
||||
{# </form>#}
|
||||
</div>
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<table class="layui-table" id="user-list"></table>
|
||||
@ -122,5 +125,6 @@
|
||||
};
|
||||
//页面加载执行 获取所有用户信息
|
||||
getUserInfo();
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
@ -20,7 +20,8 @@
|
||||
<div class="layui-header">
|
||||
<div class="layui-logo">
|
||||
<a class="logo" href="{% url 'pro_list' %}">
|
||||
<img src="/media/logo-white.png" />
|
||||
{# <img src="/media/logo-white.png" />#}
|
||||
<h1 style="color: white;"><strong>MrDoc</strong></h1>
|
||||
</a>
|
||||
</div>
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
|
||||
@ -11,7 +11,8 @@
|
||||
<div class="layui-header">
|
||||
<div class="layui-main">
|
||||
<a class="logo" href="{% url 'pro_list' %}">
|
||||
<img src="/media/logo.png" />
|
||||
{# <img src="/media/logo.png" />#}
|
||||
<h1><strong>MrDoc</strong></h1>
|
||||
</a>
|
||||
{# <div class="component">#}
|
||||
{# <div class="layui-input-inline">#}
|
||||
@ -26,6 +27,9 @@
|
||||
</a>
|
||||
<dl class="layui-nav-child">
|
||||
<!-- <dd><a href="">基本资料</a></dd> -->
|
||||
{% if request.user.is_superuser %}
|
||||
<dd><a href="{% url 'user_manage' %}">进入后台</a></dd>
|
||||
{% endif %}
|
||||
<dd><a href="{% url 'manage_doc' %}">管理文档</a></dd>
|
||||
<dd><a href="javascript:void(0);">修改密码</a></dd>
|
||||
<dd><a href="{% url 'logout' %}">退出登录</a></dd>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user