django restframework的简单使用
django restframework的简单使用
1.快速上手
- 配置: (pip install djangorestframework==3.12.4)
# settings.py
INSTALLED_APPS = [
'rest_framework'
]
REST_FRAMEWORK = {
# DRF的相关配置后面都在这里
}
- urls和views
# urls.py
from django.urls import path
from app01 import views
urlpatterns = [
path('api/user/', views.UserView.as_view()),
]
# views.py
from rest_framework.views import APIView
from rest_framwork.response import Response
class UserView(APIView):
def get(self, request, *args, **kwargs):
return Response({"code": 0, 'data': 'xxxx'})
def post(self, request, *args, **kwargs):
return Response({"code": 0, 'data': 'xxxx'})
2.drf相关
drf重写了as_view()和dispatch()方法. 添加了一些功能:
- as_view(继承了父类中as_view): 免除了csrf的验证. 一般前后端分离不使用csrf. 后期会使用jwt认证
- dispatch(没继承父类的dispatch): 内部添加了版本处理, 认证, 权限, 访问频率

3.drf对于请求数据的封装
reqeust的使用:
# views.py
from rest_framework.views import APIView
from rest_framwork.response import Response
class UserView(APIView):
def get(self, request, *args, **kwargs):
print(request._request.GET)
print(request._request.method) # 通过对象嵌套了找到原始的request
print(request._request.POST)
print(request.query_params) # 本质上就是request._reqeust.GET
print(request.data) # 读取请求体并处理, eg: 发来Json, 内部会将其反序列化
return Response({"code": 0, 'data': 'xxxx'})
def post(self, request, *args, **kwargs):
return Response({"code": 0, 'data': 'xxxx'})

django restframework的简单使用的更多相关文章
- django restframework jwt
既然要来学习jwt(json web token),那么我们肯定是先要了解jwt的优势以及应用场景--跨域认证. $ pip install djangorestframework-jwt 传统coo ...
- django: rest-framework的 分页和过滤
django: rest-framework的 分页和过滤 2018年06月28日 10:09:01 weixin_42359464 阅读数:136 标签: flaskrestframeworkdja ...
- django restframework 的日常使用
本文讨论 django restframework 的日常使用,满足常用 api 编写的需求,比如 List, Detail, Update, Put, Patch 等等.探讨 django rest ...
- 测开大佬告诉你:如何5分钟快速创建restful风格的API接口-使用django restframework框架
一.思考❓❔ 1.创建API接口难吗? 软件测试工程师: 只测过API接口, 从没创建过 应该需要掌握一门后端开发语言和后端开发框架吧!? 脑容量有限,想想就可怕 2.如何创建API接口呢? 使用Dj ...
- 用django创建一个简单的sns
用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...
- django restframework serializer 增加自定义字段
在使用django restframework serializer 序列化在django中定义的model时,有时候我们需要额外在serializer中增加一些model中没有的字段.有两种方法实现 ...
- django初探-创建简单的博客系统
django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...
- django初探-创建简单的博客系统(二)
上篇django初探-创建简单的博客系统(一)已经记录了Django实现博客的发布的整个过程,接下来继续说明博客标题和内容的显示. 显示博客详细 将博客内容保存到数据库还不是发布博客的终极目的,博客一 ...
- django restframework
一.django restframework 请求流程源码剖析 上面的认证一个流程是rest_framework的关于APIauth的认证流程,,这个流程试用权限.频率.版本.认证.这个四个组件都是通 ...
- Django的认证系统和Django admin的简单使用
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...
随机推荐
- 为什么reids是单线程
我们首先要明白,reids很快,官方表示,因为reids是基于内存的操作,cpu不是reids的瓶颈,redis的瓶颈有可能是机器内存的大小或者网络带宽,既然单线程容易控制,而且cpu不会成为瓶颈,所 ...
- linux 获取文件名
https://blog.csdn.net/liuyuedechuchu/article/details/123778605
- Window10设置技巧
1.关闭应用程序上的最近打开文件,效果图 2.固定到"开始"屏幕,效果图 3.任务栏图标太大了
- sqlite bundle 的含义,和 sqlite.dll, SQLite.Interop.dll, System.Data.SQLite.dll 三者之间的关系
sqlite bundle 的含义,和 sqlite.dll, SQLite.Interop.dll, System.Data.SQLite.dll 三者之间的关系. bundle 表示不需要配合 S ...
- LeetCode 94. 二叉树的中序遍历()
原题解 题目 约束 题解 方法一 class Solution { public: void inorder(TreeNode* root, vector<int>& res) { ...
- JSTL常用便签choose和JSTL常用便签foreach
2. choose :相当于 java 代码的 switch 语句 1.使用 choose 标签声明 相当于switch 2.使用 when 标签做判断 相当于case 3,使用 other ...
- sql生成code
- mysql安装调试
mysql安装 1.下载mysql的压缩包 tar -xvzf mysql-5.6.38-linux-glibc2.12-i686.tar.gz2.安装之后密码是随机的,所以我们需要重新修改密码: [ ...
- 【MSSQL】AlwaysOn集群增加发布订阅
在现有AlwaysOn集群增加发布订阅节点 配置 前提 节点1.节点2在AlwaysOn集群,节点3作为集群外节点使用订阅复制集群数据同步 发布对象必须要有主键 步骤 登录节点3配置分发distrib ...
- java xml转为json的两种方法
java xml转为json的两种方法 <?xml version="1.0" encoding="utf-8" ?><auibinsuran ...