django根据id查询数据简单接口实现

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为新建的空文件夹)

 

对应的结果:

法一:

法二:

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
下面是 Django API 接口发布的具体步骤: 1. 安装 Django:在部署服务器上安装 Django Web 框架,可以使用 pip 命令安装。 2. 编写 API 接口代码:使用 Django 编写 API 接口代码,建议使用 Django Rest Framework 来简化代码编写。在代码中定义 API 接口的 URL、请求方式、请求参数、返回数据格式等。 3. 测试 API 接口:使用单元测试和集成测试等方法对 API 接口进行测试,确保功能和参数要求都符合要求。 4. 部署 API 接口:使用 uWSGI 或者 Gunicorn 等工具来部署 Django 项目。具体步骤如下: - 在部署服务器上安装 uWSGI 或者 Gunicorn。 - 在 Django 项目的 settings.py 文件中配置 uWSGI 或者 Gunicorn。 - 修改 Django 项目的 urls.py 文件,将 API 接口的 URL 和处理函数进行绑定。 - 使用 uWSGI 或者 Gunicorn 启动 Django 项目。 5. 配置 API 接口:配置 API 接口的 IP 地址、端口号、域名等信息,并配置静态文件的存储和访问。可以使用 Nginx 作为反向代理服务器,将请求转发到 uWSGI 或者 Gunicorn。 6. API 接口文档编写:编写 API 接口的使用文档,包括使用说明、参数说明、错误码说明等。可以使用 Swagger 等工具来生成 API 接口文档。 7. API 接口发布:将 API 接口发布到生产环境中,提供给用户使用。在发布 API 接口之前,需要对系统进行安全性、稳定性和性能等方面的测试和优化。 需要注意的是,API 接口发布的过程可能会有些复杂,在具体操作中可能会遇到各种问题。如果遇到问题,可以查看 Django 和相关工具的文档,或者在网上搜索解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Steven灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值