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中的RSS处理
Apr 13 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
python购物车程序简单代码
Apr 18 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
python输入整条数据分割存入数组的方法
Nov 13 Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 Python
python虚拟环境迁移方法
Jan 03 Python
python中eval与int的区别浅析
Aug 11 Python
自定义django admin model表单提交的例子
Aug 23 Python
Python threading的使用方法解析
Aug 28 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 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
Banner程序
2006/10/09 PHP
Phpbean路由转发的php代码
2008/01/10 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
详解如何减少python内存的消耗
2019/08/09 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
十佳大学生事迹材料
2014/01/29 职场文书
中国梦演讲稿范文
2014/08/28 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
python办公自动化之excel的操作
2021/05/23 Python
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server