zoukankan      html  css  js  c++  java
  • 图书管理系统后端接口

    1.图书管理系统后端接口

    1.1 books/models.py 中设置表

    from django.db import models
    
    class Books(models.Model):
        btitle = models.CharField(max_length=20)  # 标题
        bpub_date = models.DateField()  # 日期
        bread = models.IntegerField()  # 阅读
        bcomment = models.IntegerField()  # 评论
        is_delete = models.BigIntegerField(default=False) # 是否删除
    books/models.py

     1.2 urls.py 中设置路由

    from django.urls import path
    
    from books import views
    
    urlpatterns = [
    
        path('book/', views.BooksView.as_view()),
    ]
    urls.py

     1.3 book/views.py 视图函数

    import json
    
    from django.http import JsonResponse
    from rest_framework.views import View
    
    from .models import *
    
    
    class BooksView(View):
        def get(self, request):
            books = Books.objects.filter(is_delete=False)
            book_list = books.values('id', 'btitle', 'bpub_date', 'bread', 'bcomment')
            book_list = list(book_list)
            data = {
                "code": 0,
                "msg": "success",
                "books": book_list
            }
            return JsonResponse(data)
    
        def post(self, request):
            body_json = request.body.decode()
            body_dict = json.loads(body_json)
            btitle = body_dict.get('btitle')
            bpub_date = body_dict.get('bpub_date')
            bread = body_dict.get('bread')
            bcomment = body_dict.get('bcomment')
    
            book = Books(btitle=btitle, bpub_date=bpub_date, bread=bread, bcomment=bcomment)
            book.save()
            return JsonResponse({"code": 0, "msg": "success"})
    
        def put(self, request):
            body_json = request.body.decode()
            body_dict = json.loads(body_json)
            id = body_dict.get('id')
            btitle = body_dict.get('btitle')
            bpub_date = body_dict.get('bpub_date')
            bread = body_dict.get('bread')
            bcomment = body_dict.get('bcomment')
    
            book = Books.objects.get(id=id)
            book.btitle = btitle
            book.bpub_date = bpub_date
            book.bread = bread
            book.bcomment = bcomment
            book.save()
            return JsonResponse({"code": 0, "msg": "success"})
    
        def delete(self, request):
            body_json = request.body.decode()
            body_dict = json.loads(body_json)
            id = body_dict.get('id')
    
            book = Books.objects.get(id=id)
            book.is_delete = True
            book.save()
            return JsonResponse({"code": 0, "msg": "success"})
    book/views.py

     2.测试接口

    2.1 测试获取所有图书接口

    http://127.0.0.1:8000/books/book/

     

     

     

  • 相关阅读:
    转载 linux笔记
    ibatis3.06 + spring 3.06+velocity 整合的VSSI框架测试
    MongoDB的主键类型修改,记录下
    WPF ItemsControl 的 ItemsSource 绑定的一个bug
    Android + HTML开发手机应用 demo 代码
    数据库资深工程师 期待加盟
    Mapbar POI 转 经纬度坐标的各个版本
    MongoDB的GeoSpatial索引 之 GeoNear命令,取得距离
    建立可靠性 基于Sql server 的网站服务器群的设想
    css3替代图片的尖角圆角效果
  • 原文地址:https://www.cnblogs.com/pythonqwertytre/p/13899519.html
Copyright © 2011-2022 走看看