Django笔记4--使用Python+Django+Mysql开发设备管理系统-views.py

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 } )



猜你喜欢

转载自blog.csdn.net/qq_42469759/article/details/80711100