Django 是一个流行的 Python web 框架,它提供了快速、可扩展和安全的开发方式,使得开发 web 应用变得更加容易。同时,RESTful API 是 web 应用的重要组成部分,它可以让你以更灵活的方式构建出具有高可靠性和可维护性的 web 服务。本篇文章将介绍如何使用 Django 开发 RESTful API,内容包括了初步的概念、具体实现细节以及示例代码。
什么是 RESTful API
RESTful API 是一种基于 HTTP/HTTPS 协议的 web 服务接口,它使用标准的 HTTP 动词(GET、POST、PUT、DELETE)来实现资源操作,并采用约定的 URL 路径作为资源的唯一标识。RESTful API 是一种基于资源的构建方式,它使用 URI 作为资源的唯一标识,并且使用统一的 HTTP 动词对资源进行管理和操作。使用 RESTful API,可以让开发者通过 API 客户端以标准化的方式与 web 服务交互。
Django 提供了许多构建 web 服务的工具和框架,可以用来开发 RESTful API。其中,Django REST framework(DRF) 是最广泛使用的框架之一。它提供了许多有用的功能,如 API 的版本控制、认证和授权、自描述文档等等。下面将介绍如何使用 Django 以及 DRF 开发 RESTful API。
安装 Django 和 DRF
首先需要安装 Django 和 DRF。可以使用 pip 在终端中直接安装:
pip install django djangorestframework
创建 Django 项目
使用下面的命令创建一个新的 Django 项目:
django-admin startproject myproject
创建应用
使用下面的命令在 Django 项目中创建新的应用:
python manage.py startapp myapp
定义模型
定义模型是构建 Django RESTful API 的第一步。模型定义了数据模型和如何交互这些数据模型的 API。可以在 myapp/models.py
中定义模型:
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) published_date = models.DateField()
定义序列化器
在 Django RESTful API 中,序列化器用于将模型实例数据转换成可序列化的 JSON 格式,并用于在 web 服务之间进行数据传输。可以在 myapp/serializers.py
中定义序列化器:
from rest_framework import serializers from myapp.models import Book class BookSerializer(serializers.ModelSerializer): class Meta: model = Book fields = '__all__'
可以使用 fields
参数指定所需返回的属性。
定义视图
在 RESTful API 中,视图是路由和业务逻辑之间的建筑物。在 Django 中,视图可以使用函数或类来定义。可以在 myapp/views.py
中定义视图:
from rest_framework import viewsets from myapp.models import Book from myapp.serializers import BookSerializer class BookViewSet(viewsets.ModelViewSet): queryset = Book.objects.all().order_by('title') serializer_class = BookSerializer
ModelViewSet
将自动添加 GET、POST、PUT、DELETE 等动作。
定义路由
要添加路由以暴露 RESTful API,可以在 myproject/urls.py
中添加路由,并使用路由器注册视图:
-- -------------------- ---- ------- ---- ----------- ------ -------- ---- ---- -------------- ------ ------- ---- ----- ------ ----- ------ - ----------------------- ------------------------- ------------------ ----------- - - -------- ---------------------- ----------------- ------------------------------ ---------------------------- -
运行服务
运行 Django 服务,可以使用下面的命令:
python manage.py runserver
通过浏览器访问 http://localhost:8000
,即可看到 DRF 提供的 API 浏览器。在浏览器中可以查看 API 的基本信息以及使用 API 进行交互。
实现示例代码
下面是一个完整的 Django RESTful API 例子。
-- -------------------- ---- ------- ---- --------- ------ ------ ---- -------------- ------ ------------ --------- ------- - ---- ----- ------------------- ----- - -------------------------------- ------ - -------------------------------- -------------- - ------------------ - ------ ----- -------------------------------------------- ----- ----- ----- - ---- ------ - --------- - ---- ----- ----------------------------------- -------- - ------------------------------------ ---------------- - -------------- - ---- ------ - ----------------------- ------------------------- ------------ - -- --- - ---- ----------- ------ -------- ---- ---- -------------- ------ ------- ----------- - - -------- ---------------------- ----------------- ------------------------------ ---------------------------- -
总结
本文介绍了如何使用 Django 和 DRF 开发 RESTful API,并提供了详细的代码介绍和实例代码。实际应用中,RESTful API 构建不仅仅需要以上几个步骤。例如,数据库映射自定义、模块化 RESTful API 构建等等都需要进一步理解和优化。但是在理解了以上步骤之后,按需求优化应该是很明确了。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648e8fa348841e9894cee7e4