我来详细讲解 "利用rest framework搭建Django API过程解析" 的完整攻略,包括两条示例说明。
1. 环境配置
首先需要配置 Python 和 Django 的环境,以及安装 Django Rest Framework 库。
# 安装 Django
pip install Django
# 安装 Django Rest Framework
pip install djangorestframework
2. 创建 Django 项目和应用
使用 Django 自带的命令行工具来创建项目和应用。
# 创建项目
django-admin startproject project_name
# 创建应用
python manage.py startapp app_name
3. 配置数据库
在项目的 settings.py 文件中配置数据库信息。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_name',
'USER': 'db_user',
'PASSWORD': 'db_password',
'HOST': 'localhost',
'PORT': '3306',
}
}
4. 创建模型类
在应用的 models.py 文件中定义模型类,用于生成数据库表格。
from django.db import models
class Book(models.Model):
name = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publish_time = models.DateField()
5. 序列化器
在应用的 serializers.py 文件中定义序列化器,用于将模型类转换成 JSON 格式的数据。
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
6. API 视图
在应用的 views.py 文件中定义 API 视图,在视图中实现对数据库的增删改查操作。
from rest_framework import generics
from .models import Book
from .serializers import BookSerializer
class BookList(generics.ListCreateAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
class BookDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
7. URL 配置
在项目的 urls.py 文件中配置 URL 映射,将 API 视图和 URL 路径对应起来。
from django.urls import path
from .views import BookList, BookDetail
urlpatterns = [
path('books/', BookList.as_view(), name='book_list'),
path('books/<int:pk>/', BookDetail.as_view(), name='book_detail'),
]
8. 示例1:获取所有图书信息
启动 Django 开发服务器后,访问 http://localhost:8000/books/ 即可获得所有图书的JSON格式数据。
9. 示例2:新增一本图书
使用 HTTP POST 请求添加一条图书记录,访问 http://localhost:8000/books/,请求体中包含以下数据即可。
{
"name": "Django REST framework教程",
"author": "张三",
"publish_time": "2021-12-12"
}
以上就是利用 Django Rest Framework 搭建 Django API 的完整攻略,包括环境配置、创建 Django 项目和应用、配置数据库、创建模型类、序列化器、API 视图及 URL 配置等步骤。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用rest framework搭建Django API过程解析 - Python技术站