图书管理系统后端接口

摘要:
1.后端接口1.1books/models中的设置表。图书管理系统的副本来自django。dbimportmodelsclassBooks(models.Model):btitle=模型。CharField(max_length=20)bpub_date=models.DateField()bread=models.IntegerField()bcomment=models.Integer
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.BooleanField(default=False)

1.2 urls.py 中设置路由

from django.urls import path
from books.views import *

urlpatterns = [
    path('book/', BooksView.as_view()),
]

1.3 book/views.py 视图函数

from django.http import JsonResponse
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"})
2.测试接口

2.1 测试获取所有图书接口

http://127.0.0.1:8000/book/

返回结果图书管理系统后端接口第1张

2.2 测试创建图书接口

http://127.0.0.1:8000/book/
.postman测试提交数据
{

"btitle":"红楼梦",
"bpub_date":"2018-02-04",
"bread": 100 ,
"bcomment": 0
}

结果

图书管理系统后端接口第2张

2.3 测试修改图书接口

http://127.0.0.1:8000/books/
postman测试提交数据
 
{
"id":5,
"btitle":"红楼梦",
"bpub_date":"2018-02-04",
"bread":100,
"bcomment":0
}
 

结果

图书管理系统后端接口第3张

2.4 测试删除数据接口

http://127.0.0.1:8000/books/
    postman测试提交数据
{ "id":15 }

结果

图书管理系统后端接口第4张

免责声明:文章转载自《图书管理系统后端接口》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇echarts中的一些配置ios基础笔试题-集锦二下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#学习笔记(6)

在我们编写一个带有存储数据的功能的程序的时候,总免不了要与数据库打交道,于是LINQ(语言集成查询)就应运而生了。LINQ是一组C#和VB的语言拓展,它允许编写C#或者VB代码以查询数据库相同的方式操作内存数据。 与一般的SQL语言不同的,用户在使用LINQ语言的时候可以自定义数据类型,这样就为程序员们提供了很大的便利,LINQ中包含40多个查询操作,其基...

mongodb 操作 Date字段类型 mongodb shell api

一,环境 php 7.2 + thinkphp 5 mongodb 3.4 二,针对Date字段的操作 mongodb shell: 写入: db.students3.insert([ { "_id" : 1, "tests" : [ 95, 92, 90 ], "lastUpdate" : ISODate("2019-01-01T00:00:00Z")...

MySQL 日期与时间的处理

1.查询当前日期时间:函数有now(),localtime(),current_timestamp(),sysdate()。 mysql> select now(),localtime(),current_timestamp(),sysdate(); +---------------------+---------------------+--...

Elasticsearch(八)【NEST高级客户端--Mapping映射】

要使用NEST与Elasticsearch进行交互,我们需要能够将我们的解决方案中的POCO类型映射到存储在Elasticsearch中的反向索引中的JSON文档和字段。本节介绍NEST中可用的所有不同功能,使POCO和Elasticsearch变得轻而易举。 在Elasticsearch中显式映射文档对于为给定的问题域提供定制搜索解决方案至关重要。虽然E...

MySql中delimiter的作用是什么?

这个命令与存储过程没什么关系吧。其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。如输入下面的语句mysql> select * from test_table;然后回车,那么MySQL将立即执行该...

Android中关于日期时间与时区的使用总结

原文引自:http://www.2cto.com/kf/201312/266908.html 在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范。 一、Unix时间戳 Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(...