django实现增删改查分页接口

简介: django实现增删改查分页接口

django实现增删改查分页接口(小白必备)

在上篇文章中我使用nodejs实现了增删改查分页接口,这一篇我们则使用django实现。

1.创建一个django项目,命令如下

python manage.py startapp myapp

2.在你自己的myapp文件夹中的models.py中定义你们自己的模型

from django.db import models
class 名字(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)

3.迁移数据库,创建模型的数据表,通过以下两行命令

python manage.py makemigrations
python manage.py migrate

4.在myapp文件夹中的views.py文件中编写处理请求

from django.core.paginator import Paginator
from django.http import JsonResponse
from myapp.models import Book
def get_books(request):
    # 获取所有书籍
    books = Book.objects.all()
    # 分页
    paginator = Paginator(books, 10) # 每页显示10条记录
    page_number = request.GET.get('page') # 获取页码参数
    page_obj = paginator.get_page(page_number)
    # 构造返回数据
    data = {
        'current_page': page_obj.number,
        'total_pages': paginator.num_pages,
        'books': [
            {'title': book.title, 'author': book.author, 'publication_date': str(book.publication_date)}
            for book in page_obj.object_list
        ]
    }
    return JsonResponse(data)
def create_book(request):
    # 获取POST请求数据
    title = request.POST.get('title')
    author = request.POST.get('author')
    publication_date = request.POST.get('publication_date')
    # 创建书籍对象并保存
    book = Book(title=title, author=author, publication_date=publication_date)
    book.save()
    return JsonResponse({'message': 'Book created successfully'})
def update_book(request, book_id):
    # 获取PUT请求数据
    title = request.PUT.get('title')
    author = request.PUT.get('author')
    publication_date = request.PUT.get('publication_date')
    # 更新书籍对象
    book = Book.objects.get(id=book_id)
    book.title = title
    book.author = author
    book.publication_date = publication_date
    book.save()
    return JsonResponse({'message': 'Book updated successfully'})
def delete_book(request, book_id):
    # 删除书籍对象
    book = Book.objects.get(id=book_id)
    book.delete()
    return JsonResponse({'message': 'Book deleted successfully'})

5.在项目的urls.py文件中配置URL路由

from django.urls import path
from myapp.views import get_books, create_book, update_book, delete_book
urlpatterns = [
    path('books/', get_books),
    path('books/create/', create_book),
    path('books/update/<int:book_id>/', update_book),
    path('books/delete/<int:book_id>/', delete_book),
]

6.运行项目

python manage.py runserver

到这里也就结束了,希望对您有所帮助。

相关文章
|
3月前
|
关系型数据库 MySQL 数据库连接
使用Django框架完成用户的增删改查操作
使用Django框架完成用户的增删改查操作
36 1
|
7月前
|
前端开发 API 数据格式
Django的restframework接口框架自定义返回数据格式
在前后端分离是大趋势的背景下,前端获取数据都是通过调用后台的接口来获取数据微服务的应用越来越多。Django是Python进行web应用开发常用的web框架,用Django框架进行web应用框架减少了很多工作,通常用很少量的代码就可以实现数据的增、删、改、查的业务应用,同样用Django的restframework的框架对外发布接口也是非常的简单方便,几行代码就可以将数据对象通过接口的方式提供服务。因为在实际开发过程中接口的返回数据有一定的格式,本文介绍通过自定义Response返回对象来自定义接口返回数据格式。
89 1
|
3月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
89 7
|
5月前
|
Python
28 Django高级- 分页
28 Django高级- 分页
18 0
|
8月前
|
数据库 Python
Django的多对多如何获取到数据并实现搜索分页
python manage.py makemigrations 应用名 python manage.py migrate 应用名 这两个命名是生成迁移文件和迁移数据库
|
8月前
|
Python
django -- 分页
django -- 分页
|
8月前
|
SQL 数据库 Python
django -- ORM实现作者增删改查
django -- ORM实现作者增删改查
|
8月前
|
数据库 Python
django -- ORM实现图书增删改查
django -- ORM实现图书增删改查
|
8月前
|
数据库 Python
django -- ORM实现出版社增删改查
django -- ORM实现出版社增删改查
|
8月前
|
API Python
Django | 如何优雅的在某接口对其他接口的调用
Django | 如何优雅的在某接口对其他接口的调用