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判断Abundant Number的方法
Jun 15 Python
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
django迁移数据库错误问题解决
Jul 29 Python
Python + Flask 实现简单的验证码系统
Oct 01 Python
python3中rank函数的用法
Nov 27 Python
Python hmac模块使用实例解析
Dec 24 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
Feb 18 Python
python编写扎金花小程序的实例代码
Feb 23 Python
Python matplotlib 利用随机函数生成变化图形
Apr 26 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
PHP英文字母大小写转换函数小结
2014/05/03 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
php单一接口的实现方法
2015/06/20 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
javascript multibox 全选
2009/03/22 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
2015/08/19 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
Python ORM编程基础示例
2020/02/02 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
高中生第一学年自我鉴定
2014/09/12 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
家庭经济困难证明
2015/06/23 职场文书
清明节主题班会
2015/08/14 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript