利用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中的字典容器
Apr 14 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
Python continue继续循环用法总结
Jun 10 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
python获取点击的坐标画图形的方法
Jul 09 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
Django使用list对单个或者多个字段求values值实例
Mar 31 Python
pycharm2020.2 配置使用的方法详解
Sep 16 Python
python中实现词云图的示例
Dec 19 Python
使用pycharm运行flask应用程序的详细教程
Jun 07 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 foreach 参数强制类型转换的问题
2010/12/10 PHP
php array_map()数组函数使用说明
2011/07/12 PHP
PHP实现简易计算器功能
2020/08/28 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
javascript 弹出层组件(升级版)
2011/05/12 Javascript
javascript工具库代码
2012/03/29 Javascript
js加强的经典分页实例
2013/03/15 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
python不带重复的全排列代码
2013/08/13 Python
python字符串连接方式汇总
2014/08/21 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
北承题目(C++)
2012/05/16 面试题
建筑公司文秘岗位职责
2013/11/29 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
教师节学生演讲稿
2014/09/03 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
2016年安全月活动总结
2016/04/06 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python