序列化器接口示例
0阅读
下面给出“最简单可运行”的 Django + Django REST framework(DRF)增删改查示例。
全程 5 步,复制即可跑通。
1. 安装
pip install django djangorestframework
2. 创建项目/应用
django-admin startproject myapi
cd myapi
python manage.py startapp books
3. 注册应用 & 配置 DRF
myapi/settings.py 里加两行:
INSTALLED_APPS = [
...
'rest_framework', # 新增
'modules.books', # 新增
]
4. 写模型 → 序列化 → 视图 → 路由
books/models.py
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
def __str__(self):
return self.title
books/serializers.py
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
books/views.py
from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializer
class BookViewSet(viewsets.ModelViewSet): # 一行搞定 5 个接口
queryset = Book.objects.all()
serializer_class = BookSerializer
books/urls.py(新建)
from rest_framework.routers import DefaultRouter
from . import views
router = DefaultRouter()
router.register(r'books', views.BookViewSet)
urlpatterns = router.urls
myapi/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('modules.books.urls')), # 把 books 的接口挂到 /api/
]
5. 迁移 & 启动
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
完工!
浏览器访问:
- 列表/新增
http://127.0.0.1:8000/api/books/ - 单条查/改/删
http://127.0.0.1:8000/api/books/1/
自带可视化界面,postman 也可直接测试。
这就是一个最小可运行的 Django-DRF 增删改查项目。