基于Python+Django+Vue+Mysql前后端分离的图书管理系统
warning:
这篇文章距离上次修改已过183天,其中的内容可能已经有所变动。
由于篇幅所限,以下仅展示如何使用Python的Django框架创建一个简单的图书管理系统的后端API部分。前端Vue和MySQL的实现将不在这里展示。
from django.urls import path
from django.conf.urls import url
from . import views
urlpatterns = [
path('books/', views.BookListView.as_view()),
path('books/<int:pk>/', views.BookDetailView.as_view()),
url(r'^books/create/$', views.BookCreateView.as_view()),
url(r'^books/(?P<pk>\d+)/update/$', views.BookUpdateView.as_view()),
url(r'^books/(?P<pk>\d+)/delete/$', views.BookDeleteView.as_view()),
]
在这个例子中,我们定义了一些路由,这些路由将映射到图书的列表视图、详情视图、创建图书、更新图书和删除图书的视图函数上。这些视图函数将由Django的类视图处理,这些类视图继承自ViewSet
并使用了Django REST Framework提供的序列化器。
from rest_framework import generics
from .models import Book
from .serializers import BookSerializer
class BookListView(generics.ListAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
class BookDetailView(generics.RetrieveAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
class BookCreateView(generics.CreateAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
class BookUpdateView(generics.UpdateAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
class BookDeleteView(generics.DestroyAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
在这个例子中,我们定义了图书的列表视图、详情视图、创建视图、更新视图和删除视图。每个视图都指定了要操作的模型类(在这个例子中是Book
)和要使用的序列化器(在这个例子中是BookSerializer
)。
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
在这个例子中,我们定义了图书的序列化器。序列化器指定了与模型Book
相关联的字段,并且在这个例子中我们允许序列化模型的所有字段。
评论已关闭