forked from mirror/MrDoc
优化后台用户管理
This commit is contained in:
parent
7987109a67
commit
16612e1ad2
@ -256,34 +256,46 @@ def admin_overview(request):
|
||||
@logger.catch()
|
||||
def admin_user(request):
|
||||
if request.method == 'GET':
|
||||
# user_list = User.objects.all()
|
||||
return render(request, 'app_admin/admin_user.html', locals())
|
||||
elif request.method == 'POST':
|
||||
username = request.POST.get('username','')
|
||||
page = request.POST.get('page', 1)
|
||||
limit = request.POST.get('limit', 10)
|
||||
if username == '':
|
||||
user_data = User.objects.all().values_list(
|
||||
user_data = User.objects.all().values(
|
||||
'id','last_login','is_superuser','username','email','date_joined','is_active','first_name'
|
||||
)
|
||||
else:
|
||||
user_data = User.objects.filter(username__icontains=username).values_list(
|
||||
user_data = User.objects.filter(username__icontains=username).values(
|
||||
'id','last_login','is_superuser','username','email','date_joined','is_active','first_name'
|
||||
)
|
||||
|
||||
# 分页处理
|
||||
paginator = Paginator(user_data, limit)
|
||||
page = request.GET.get('page', page)
|
||||
try:
|
||||
users = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
users = paginator.page(1)
|
||||
except EmptyPage:
|
||||
users = paginator.page(paginator.num_pages)
|
||||
|
||||
table_data = []
|
||||
for i in list(user_data):
|
||||
for i in users:
|
||||
item = {
|
||||
'id':i[0],
|
||||
'last_login':i[1],
|
||||
'is_superuser':i[2],
|
||||
'username':i[3],
|
||||
'email':i[4],
|
||||
'date_joined':i[5],
|
||||
'is_active':i[6],
|
||||
'first_name':i[7]
|
||||
'id':i['id'],
|
||||
'last_login':i['last_login'],
|
||||
'is_superuser':i['is_superuser'],
|
||||
'username':i['username'],
|
||||
'email':i['email'],
|
||||
'date_joined':i['date_joined'],
|
||||
'is_active':i['is_active'],
|
||||
'first_name':i['first_name'],
|
||||
}
|
||||
table_data.append(item)
|
||||
return JsonResponse({'status':True,'data':table_data})
|
||||
return JsonResponse({'code':0,'data':table_data,"count": user_data.count()})
|
||||
else:
|
||||
return JsonResponse({'status':False,'data':'方法错误'})
|
||||
return JsonResponse({'code':1,'msg':'方法错误'})
|
||||
|
||||
|
||||
# 后台管理 - 创建用户
|
||||
|
@ -16,12 +16,12 @@
|
||||
<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="pear-btn pear-btn-primary pear-btn-sm" onclick="getUserInfo()"><i class="layui-icon layui-icon-search"></i>搜索</button>
|
||||
<button class="pear-btn pear-btn-sm" onclick="getUserInfo()"><i class="layui-icon layui-icon-search"></i>搜索</button>
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" onclick="createUser()" type="button"><i class="layui-icon layui-icon-addition"></i>新增用户</button>
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" onclick="createSuperUser()" type="button"><i class="layui-icon layui-icon-addition"></i>添加管理员</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row" lay-skin="line">
|
||||
<div class="layui-row">
|
||||
<table class="layui-table" id="user-list"></table>
|
||||
</div>
|
||||
</div>
|
||||
@ -49,6 +49,18 @@
|
||||
{{# } }}
|
||||
{% endverbatim %}
|
||||
</script>
|
||||
<!-- 注册时间 -->
|
||||
<script type="text/html" id="registerTime">
|
||||
{% verbatim %}
|
||||
{{layui.util.toDateString(d.date_joined, "yyyy-MM-dd HH:mm:ss")}}
|
||||
{% endverbatim %}
|
||||
</script>
|
||||
<!-- 最后登录时间 -->
|
||||
<script type="text/html" id="lastLoginTime">
|
||||
{% verbatim %}
|
||||
{{layui.util.toDateString(d.last_login, "yyyy-MM-dd HH:mm:ss")}}
|
||||
{% endverbatim %}
|
||||
</script>
|
||||
<!-- 用户操作模板 -->
|
||||
<script type="text/html" id="userOpera">
|
||||
{% verbatim %}
|
||||
@ -66,33 +78,27 @@
|
||||
$.ajaxSetup({
|
||||
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
|
||||
});
|
||||
//获取用户列表
|
||||
getUserInfo = function () {
|
||||
layer.load(1);
|
||||
$.post("{% url 'user_manage' %}",{'username':$("#username").val()},function(r){
|
||||
layer.closeAll('loading');
|
||||
if(r.status){
|
||||
//执行表格渲染
|
||||
table.render({
|
||||
elem: '#user-list' //指定原始表格元素选择器(推荐id选择器)
|
||||
,height: 600 //容器高度
|
||||
,limit:20
|
||||
,page:true
|
||||
,cols: [[
|
||||
{field:'username',title:'用户名',width:160},
|
||||
{field:'first_name',title:'昵称',width:160},
|
||||
{field:'email',title:'电子邮箱',width:160},
|
||||
{field:'is_superuser',title:'用户角色',width:100,templet:'#userRole'},
|
||||
{field:'date_joined',title:'注册时间',width:200},
|
||||
{field:'last_login',title:'最后登录时间',width:200},
|
||||
{field:'is_active',title:'状态',width:60,templet:'#userStatus'},
|
||||
{field:'oprate',title:'操作',width:180,templet:'#userOpera'},
|
||||
]] //设置表头
|
||||
,data:r.data
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
//获取用户列表,执行表格渲染
|
||||
table.render({
|
||||
elem: '#user-list',
|
||||
url: "{% url 'user_manage' %}",
|
||||
method:'post',
|
||||
where:{
|
||||
'username':$("#username").val(),
|
||||
},
|
||||
page:true,
|
||||
cols: [[
|
||||
{field:'username',title:'用户名',width:160},
|
||||
{field:'first_name',title:'昵称',width:160},
|
||||
{field:'email',title:'电子邮箱',width:160},
|
||||
{field:'is_superuser',title:'用户角色',width:100,templet:'#userRole'},
|
||||
{field:'date_joined',title:'注册时间',width:160,templet:'#registerTime'},
|
||||
{field:'last_login',title:'最后登录时间',width:160,templet:'#lastLoginTime'},
|
||||
{field:'is_active',title:'状态',width:60,templet:'#userStatus'},
|
||||
{field:'oprate',title:'操作',width:180,templet:'#userOpera'},
|
||||
]],
|
||||
skin: 'line',
|
||||
});
|
||||
//新建用户
|
||||
createUser = function(){
|
||||
layer.open({
|
||||
@ -217,8 +223,6 @@
|
||||
},
|
||||
});
|
||||
};
|
||||
//页面加载执行 获取所有用户信息
|
||||
getUserInfo();
|
||||
})
|
||||
</script>
|
||||
{% endblock %}
|
Loading…
x
Reference in New Issue
Block a user