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为新建的空文件夹)
对应的结果:
法一:
法二: