这篇文章将为大家详细讲解有关如何利用rest framework搭建Django API,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
思路步骤:
创建一个可以序列化的类
去数据库取数据交给序列化的类处理
把序列化的数据返回前端
操作流程:
# 安装模块
pip install djangorestframework
# settings.py配置
1. apps中注册
INSTALLED_APPS = [ '...', 'rest_framework', ]
2.末尾添加以下代码,访问权限
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' ] }
# app目录下创建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',) # 序列化字段,此处无外键,有外键的话需要另写对应的序列化类
# app目录下创建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固定
# app目录urls.py文件,引入url,此处为二级分发,记得总url需要分发,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)), ]
运行即可!
关于“如何利用rest framework搭建Django API”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。