利用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高效编程技巧
Jan 07 Python
python控制台英汉汉英电子词典
Apr 23 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 Python
Python通用函数实现数组计算的方法
Jun 13 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
python @classmethod 的使用场合详解
Aug 23 Python
django多种支付、并发订单处理实例代码
Dec 13 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
python如何调用java类
Jul 05 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 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
php getsiteurl()函数
2009/09/05 PHP
php 分库分表hash算法
2009/11/12 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
json定义及jquery操作json的方法
2016/10/03 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python 爬虫模拟登陆知乎
2016/09/23 Python
python简易远程控制单线程版
2018/06/20 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
django在开发中取消外键约束的实现
2020/05/20 Python
如何卸载python插件
2020/07/08 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
英文版餐饮运营管理求职信
2013/11/06 职场文书
工厂门卫岗位职责
2013/11/25 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
物流管理专业自荐信
2014/06/23 职场文书
员工工作及收入证明
2014/10/28 职场文书
晚会开场白和结束语
2015/05/29 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript