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中合并两个文本文件并按照姓名首字母排序的例子
Apr 25 Python
python写xml文件的操作实例
Oct 05 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
Python+django实现文件上传
Jan 17 Python
python Celery定时任务的示例
Mar 13 Python
pyhton列表转换为数组的实例
Apr 04 Python
pandas.DataFrame.to_json按行转json的方法
Jun 05 Python
python生成器用法实例详解
Nov 22 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
Python数据可视化:幂律分布实例详解
Dec 07 Python
django模型动态修改参数,增加 filter 字段的方式
Mar 16 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 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连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
HTML上传控件取消选择
2013/03/06 Javascript
JS清空多文本框、文本域示例代码
2014/02/24 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
小程序实现录音功能
2020/09/22 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python实现翻转数组功能示例
2018/01/12 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python实现ip地址的包含关系判断
2020/02/07 Python
python 实现两个线程交替执行
2020/05/02 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
班会关于环保演讲稿
2013/12/29 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
写给父母的感谢信
2015/01/22 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书