Django使用rest_framework写出API


Posted in Python onMay 21, 2020

在Django中用rest_framework写API,写了一个用户注册的API,并测试成功。

本人环境:Django==2.2.1;djangorestframework==3.11.0

1、安装djangorestframework

(1)终端中输入命令:

pip install djangorestframework

(2)在settings里面的INSTALL_APP里面,添加rest_framework应用:

INSTALL_APP = [
  ...
  'rest_framework',
]

2、新建django项目和应用:

django-admin startproject magic_chat

django-admin startapp chat_user #(进入magic_chat目录下)

python manage.py migrate # 数据写入

3、在settings里面的INSTALL_APP里面,配置应用:

INSTALL_APP = [
  ...
'rest_framework',
'chat_user.apps.ChatUserConfig',
]

4、在views.py中写API代码:

from django.contrib.auth.models
import User
from rest_framework
import status
from rest_framework.response
import Response
from rest_framework.views
import APIView
class Register(APIView):
	def post(self, request):
	""
"
注册
	""
"
username = request.data.get('username')
password = request.data.get('password')
user = User.objects.create_user(
	username = username, password =
	password)
user.save()
context = {
	"status": status.HTTP_200_OK,
	"msg": "用户注册成功"
}
return Response(context)

5、配置项目的urls.py

urlpatterns = [
  path('admin/', admin.site.urls),
  path('', include('chat_user.urls')),
]

6、配置应用的urls.py

from django.urls import path
from . import views
urlpatterns = [
  path('register/', views.Register.as_view()),
  ]

7、启动服务:

python manage.py runserver

8、验证API可调用:

打开Postman软件,输入网址http://127.0.0.1:8000/register/,输入参数,选择post方式,send发送后成功返回"status": 200,"msg": "用户注册成功",说明API正常。

Django使用rest_framework写出API

补充:如果报csrf的错,则在请求的headers部分加入键:X-CSRFToken ,值是cookie中的csrftoken值,再次发送请求。

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

Python 相关文章推荐
python多线程用法实例详解
Jan 15 Python
利用python将xml文件解析成html文件的实现方法
Dec 22 Python
Python 25行代码实现的RSA算法详解
Apr 10 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
浅谈python 中类属性共享的问题
Jul 02 Python
如何基于python实现归一化处理
Jan 20 Python
浅谈Python爬虫原理与数据抓取
Jul 21 Python
关于Kotlin中SAM转换的那些事
Sep 15 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 Python
Python绘制分类图的方法
Apr 20 Python
使用keras根据层名称来初始化网络
May 21 #Python
关于Keras Dense层整理
May 21 #Python
Django如何使用redis作为缓存
May 21 #Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 #Python
keras之权重初始化方式
May 21 #Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 #Python
Python使用os.listdir和os.walk获取文件路径
May 21 #Python
You might like
php session劫持和防范的方法
2013/11/12 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
Vue实现简单分页器
2018/12/29 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
学校联谊活动方案
2014/02/15 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
校园活动策划方案
2014/06/13 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python