使用Django的JsonResponse返回数据

2022-08-04 10:22:46 浏览数 (1)

urls.py

代码语言:javascript复制
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^show/', views.show_view, name='show')
]

在views.py中创建show_view函数

代码语言:javascript复制
from django.http import HttpResponse
from django.shortcuts import render
from .models import *
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from django.http import JsonResponse
def show_view(request):
    # 获取当前页码数
    num = request.GET.get('num', 1)
    n = int(num)
    # 1.查询stu_student表中的所有数据
    stus = Student.objects.all()  # 获取所有的
    # django 分页
    pager = Paginator(stus, 2)
    # 获取当前页面的数据
    try:
        stuss = Student.objects.all().values()
        students = list(stuss)
        return JsonResponse({'code': 200, 'data': students})
        perpage_data = pager.page(n)
        # 返回第一页的数据
    except PageNotAnInteger:
        perpage_data = pager.page(1)
        # 返回最后一页的数据
    except EmptyPage:
        perpage_data = pager.page(pager.num_pages)
    return render(request, 'show.html', {'show': stus, 'pager': pager, 'perpage_data': perpage_data})

0 人点赞