如何利用restframework搭建DjangoAPI-创新互联
这篇文章将为大家详细讲解有关如何利用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”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:如何利用restframework搭建DjangoAPI-创新互联
本文地址:http://ybzwz.com/article/dsopde.html