urls.py:

 

from django.contrib import admin
from django.urls import path
from . import views, test2db

urlpatterns = [
    path('admin/', admin.site.urls),
    path('runoob/', views.runoob),
    path('stu_detail/<student_id>/', views.stu_detail),
    path('stu_detail1/<student_id>/', views.stu_detail1),
    path('stu_detail2/', views.stu_detail2)
]

views.py:

import simplejson as json
from django.http import HttpResponse
from django.shortcuts import render
from django_demo.models import CourseModel

def runoob(request):
    data = "这是一个测试。。。。。"
    return HttpResponse(data)


def stu_detail(request, student_id):
    stu_id = "您输入的id为:{}".format(student_id)
    return HttpResponse(stu_id)

# 根据传入的学生id查询数据 法一 http://127.0.0.1:8000/stu_detail1/372/
def stu_detail1(request, student_id):
    sub = CourseModel.objects.get(id=student_id)
    data = {"id": sub.id, "课程id": sub.cour_id, "课程": sub.course, "成绩": sub.grade}
    res = {'code': 1, 'message': '成功', 'data': data}
    # return json.dumps(res, ensure_ascii=False, indent=4)
    return HttpResponse(json.dumps(res, ensure_ascii=False, indent=4))

# 根据传入的学生id查询数据  法二  http://127.0.0.1:8000/stu_detail2/?id=373
def stu_detail2(request):
    student_id = request.GET.get("id")
    sub = CourseModel.objects.get(id=student_id)
    data = {"id": sub.id, "课程id": sub.cour_id, "课程": sub.course, "成绩": sub.grade}
    res = {'code': 1, 'message': '成功', 'data': data}
    # return json.dumps(res, ensure_ascii=False, indent=4)
    return HttpResponse(json.dumps(res, ensure_ascii=False, indent=4))

 法二修改:(没有加入日志信息)

 

# 根据传入的学生id查询数据  法二
def stu_detail2(request):
    try:
        student_id = request.GET.get("id")
        sub = CourseModel.objects.get(id=student_id)
        data = {"id": sub.id, "课程id": sub.cour_id, "课程": sub.course, "成绩": sub.grade}
        res = {'code': 1, 'message': '成功', 'data': data}
    except Exception as e:
        res = {'code': 0, 'message': '数据获取失败'}
    return HttpResponse(json.dumps(res, ensure_ascii=False, indent=4))

法二修改:加入日志信息

# 根据传入的学生id查询数据  法二
def stu_detail2(request):
    try:
        student_id = request.GET.get("id")
        sub = CourseModel.objects.get(id=student_id)
        data = {"id": sub.id, "课程id": sub.cour_id, "课程": sub.course, "成绩": sub.grade}
        res = {'code': 1, 'message': '数据获取成功', 'data': data}
    except Exception as e:
        error_info = '数据获取失败:{}'.format(e)
        logger.error(error_info)
        res = {'code': 0, 'message': error_info}
    return HttpResponse(json.dumps(res, ensure_ascii=False, indent=4))

日志配置:(log为新建的空文件夹)

 

对应的结果:

法一:

法二:

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐