利用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实现简单ftp客户端的方法
Jun 28 Python
Python正规则表达式学习指南
Aug 02 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
Puppeteer使用示例详解
Jun 20 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 Python
Python字符串格式化方式
Apr 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代码保护--Zend Guard的使用详解
2013/06/03 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
javascript 自定义事件初探
2009/08/21 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
node使用request请求的方法
2019/12/20 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python代理抓取并验证使用多线程实现
2013/05/03 Python
Puppeteer使用示例详解
2019/06/20 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
护士求职信范文
2014/05/24 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
宣传标语大全
2014/07/01 职场文书
金融管理专业求职信
2014/07/10 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers