基于Django REST Framework的API开发完整指南
本文详细解析如何利用Django REST Framework构建后端API。内容涵盖从安装依赖、配置权限到创建序列化类、定义视图集及配置URL路由的全流程。通过具体代码示例,展示如何将数据库数据序列化处理并返回给前端,帮助开发者快速掌握Django API的核心开发步骤。
Django REST Framework API开发思路
整体开发思路主要分为三个核心步骤:
首先,定义一个用于序列化的类,明确需要处理的数据结构。
其次,从数据库中获取原始数据,并将其传递给上述定义的序列化类进行格式化处理。
最后,将经过序列化处理后的数据返回给前端客户端。
具体的操作流程如下:
环境配置与安装
第一步,安装必要的依赖模块。
pip install djangorestframework
接下来,在项目的settings.py文件中进行相关配置。
具体配置包括两部分:第一,在INSTALLED_APPS列表中注册应用。
INSTALLED_APPS = [
'...',
'rest_framework',
]
第二,在配置文件的末尾添加以下代码,用于设置默认的访问权限。
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
]
}
序列化与视图实现
在应用目录下创建rest_serializer.py文件,专门用于编写处理序列化的类。
# models.py中有个User类,类下有'username', 'password'字段
from crm import models
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
# 序列化哪个类以及其类下的字段
class Meta:
model = models.User # 序列化models中User类
fields = ( 'username', 'password',) # 序列化字段,此处无外键,有外键的话需要另写对应的序列化类
在应用目录下创建rest_views.py文件,负责从数据库获取数据,并调用序列化类进行处理。
from rest_framework import viewsets
from crm.rest_serializer import UserSerializer
from crm import models
class UserViewSet(viewsets.ModelViewSet):
queryset = models.User.objects.all() # 取User表所有数据,变量名queryset固定
serializer_class = UserSerializer # 给UserSerializer类序列化,变量名serializer_class固定
URL路由配置
在应用目录下的urls.py文件中引入URL路由。此处采用二级分发机制,请注意总urls.py中也需要进行相应的分发配置,例如使用url(r'^crm/', include('crm.urls'))。
from django.conf.urls import url,include
from rest_framework import routers
from crm.rest_views import UserViewSet
router = routers.DefaultRouter() # 实例
router.register(r'users', UserViewSet) # 注册
urlpatterns = [
url(r'^api/', include(router.urls)),
]
完成上述配置后,运行项目即可生效。


如需了解更多详细信息,请访问官方文档:https://www.django-rest-framework.org/
以上就是本文的全部内容,希望对各位的学习有所帮助,也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













