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基于checksum计算文件是否相同的方法
Jul 09 Python
python 捕获 shell/bash 脚本的输出结果实例
Jan 04 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
python GUI实现小球满屏乱跑效果
May 09 Python
python找出因数与质因数的方法
Jul 25 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
关于python3.9安装wordcloud出错的问题及解决办法
Nov 02 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
pycharm代码删除恢复的方法
Jun 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/03/08 日漫
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
JavaScript经典效果集锦
2010/07/06 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
Python的类实例属性访问规则探讨
2015/01/30 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
python之mock模块基本使用方法详解
2019/06/27 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
更新pip3与pyttsx3文字语音转换的实现方法
2019/08/08 Python
Python socket模块方法实现详解
2019/11/05 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
求职自荐书范文
2013/12/04 职场文书
活动总结怎么写啊
2014/05/07 职场文书
结对共建工作方案
2014/06/02 职场文书
工作年限证明模板
2014/11/01 职场文书
北京英文导游词
2015/02/12 职场文书
暖春观后感
2015/06/08 职场文书