利用rest framework搭建Django API过程解析


Posted in Python onAugust 31, 2019

思路步骤:

创建一个可以序列化的类

去数据库取数据交给序列化的类处理

把序列化的数据返回前端

操作流程:

# 安装模块

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过程解析

利用rest framework搭建Django API过程解析

更多资料请戳:https://www.django-rest-framework.org/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python操作Mysql实例代码教程在线版(查询手册)
Feb 18 Python
python查询sqlite数据表的方法
May 08 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
Python中functools模块的常用函数解析
Jun 30 Python
Python用for循环实现九九乘法表
May 31 Python
python编写简单端口扫描器
Sep 04 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
让你的Python代码实现类型提示功能
Nov 19 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
Django中F函数的使用示例代码详解
Jul 06 Python
Django框架安装及项目创建过程解析
Sep 14 Python
Python echarts实现数据可视化实例详解
Mar 03 Python
Python进度条的制作代码实例
Aug 31 #Python
python类的实例化问题解决
Aug 31 #Python
python检测服务器端口代码实例
Aug 31 #Python
python实现多线程端口扫描
Aug 31 #Python
python实现复制大量文件功能
Aug 31 #Python
django 做 migrate 时 表已存在的处理方法
Aug 31 #Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 #Python
You might like
模仿OSO的论坛(三)
2006/10/09 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
javascript demo 基本技巧
2009/12/18 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
JS实现简单日历特效
2020/01/03 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
python如何统计序列中元素
2020/07/31 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
关于python字符串方法分类详解
2019/08/20 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
资产评估专业学生的自我鉴定
2013/11/14 职场文书
中学教师岗位职责
2013/11/26 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
导师鉴定意见
2015/06/05 职场文书
社区低保工作总结2015
2015/07/23 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python