views.py 文件如下
from django.shortcuts import render from deviceman.models import user_list, pc_list from django.views.decorators.csrf import csrf_exempt from django.db.models import Count from django.forms.models import model_to_dict from django.db.models import Value # Create your views here. from django.http import HttpResponse from datetime import date from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger @csrf_exempt def index(request): n=1 result = pc_list.objects.values('host_type', 'host_status').annotate(count=Count('host_status')).order_by('host_type') result_dict ={'result': result, 'n':n } return render(request, 'index.html', result_dict, ) #def pc_list(request): # return HttpResponse("this is computer list") def tuser_list(request): return HttpResponse("this is user list") def dept_list(request): return HttpResponse("this is department list") def read_deviceman(): return HttpResponse("this is deviceman data") def hello(request): context={} context['hello']='Hello World, This is my first Templates' context['name']='My name is Liu, Honghai' context['date']=date.today() return render(request,'hello.html',context) def search_form(request): context={} return render(request,'search.html',context) def search(request): context={} context['message']=message= request.GET['q'] return render(request,'search.html', context) def showusers(request): users=user_list.objects.all() paginator = Paginator(users, 20) page = request.GET.get('page', 1) currentPage = int(page) try: print(page) users = paginator.page(page) # 获取当前页码的记录 except PageNotAnInteger: users = paginator.page(1) # 如果用户输入的页码不是整数时,显示第1页的内容 except EmptyPage: users = paginator.page(paginator.num_pages) # 如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容 return render(request, "showuser.html", locals()) @csrf_exempt def ajax(request): a = request.GET.get('a') b = request.GET.get('b') return_json = {'result':'hello'} return HttpResponse(json.dumps(return_json), content_type='application/json') @csrf_exempt def showchart(request): result = pc_list.objects.values('host_type', 'host_status').annotate(count=Count('host_status')).order_by('host_type') result_dict ={'result': result,} listx = [] listy = [] for p in result: #遍历,拼横纵坐标 listx.append(p['host_status']) listy.append(int(p['count'])) return render(request, "showchart.html", { 'result':result_dict, 'X':listx, 'Y':listy } )