本章内容是针对上一章内容进行一个升级,即加上了一个内容搜索功能
1、视图文件myadmin/views/myadmin_users.py
from django.shortcuts import render
from myadmin.models import user
from django.http import HttpResponse
from django.core.paginator import Paginator
from django.db.models import Q
# Create your views here.
# 加载后台员工管理首页
def myadmin_users_index(request,Pindex):
try:
ulist = user.objects.filter(status__lt=9)
kw = request.GET.get('keyword',None) #查询关键字
mywhere = []
if kw:
ulist = user.objects.filter(Q(username__contains=kw)|Q(nickname__contains=kw)) #通过账号或昵称搜索
mywhere.append('keyword='+ kw)
PageUsers = Paginator(ulist,5) #(实例化对象)5个数据分一页
Pagenum = PageUsers.num_pages #最大页数
PageRange = PageUsers.page_range #页数范围
if Pindex < 1:
Pindex = 1
elif Pindex > Pagenum:
Pindex = Pagenum
PageContext = PageUsers.page(Pindex) #每页的内容
context = {"users":PageContext,"Pindex":Pindex,"PageRange":PageRange,"kw":mywhere}
return render(request,"myadmin/user/myadmin_users_index.html",context)
except Exception as err:
print(err)
return HttpResponse("无员工数据")
2、模板文件templates/user/myadmin_users_index.html
提交搜索form表单,用GET方法请求
在之前分页跳转超链接基础上再添加请求条件,防止冲突
整体代码为以下
{% extends 'myadmin/base.html' %}
{% block main_content %}
员工管理
订餐系统后台管理
员工信息表
ID
账号
昵称
当前状态
添加时间
修改时间
操作
{% for user in users %}
{{user.id}}
{{user.username}}
{{user.nickname}}
{% if user.status == 1 %}正常
{% elif user.status == 2 %}禁用
{% elif user.status == 6 %}管理员
{% elif user.status == 9 %}删除
{% else %}未知
{% endif %}
{{user.create_at}}
{{user.update_at}}
{% endfor %}
{% endblock %}



