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 16 Python
Python中关于使用模块的基础知识
May 24 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 Python
Python+tkinter使用80行代码实现一个计算器实例
Jan 16 Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
python循环输出三角形图案的例子
Nov 22 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
简单了解python调用其他脚本方法实例
Mar 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
层叠菜单的动态生成
2006/10/09 PHP
分享10段PHP常用代码
2015/11/11 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
js表单登陆验证示例
2016/10/19 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
react路由配置方式详解
2017/08/07 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
微信小程序canvas动态时钟
2020/10/22 Javascript
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
Python实现的rsa加密算法详解
2018/01/24 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
书香校园活动方案
2014/02/28 职场文书
大学社团计划书
2014/05/01 职场文书
节约用水演讲稿
2014/05/21 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python
Python极值整数的边界探讨分析
2021/09/15 Python
python中pycryto实现数据加密
2022/04/29 Python