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 命令行参数sys.argv
Sep 06 Python
详解python调度框架APScheduler使用
Mar 28 Python
Python正则抓取网易新闻的方法示例
Apr 21 Python
使用python生成杨辉三角形的示例代码
Aug 29 Python
Django如何自定义model创建数据库索引的顺序
Jun 20 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
在VS2017中用C#调用python脚本的实现
Jul 31 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
浅析Python面向对象编程
Jul 10 Python
python操作ini类型配置文件的实例教程
Oct 30 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面向对象中的魔术方法中文说明
2014/03/04 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
vue基础之事件v-onclick="函数"用法示例
2019/03/11 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
Python实现类的创建与使用方法示例
2017/07/25 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
python excel和yaml文件的读取封装
2021/01/12 Python
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
车辆转让协议书
2014/09/24 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
一个都不能少观后感
2015/06/04 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS
Python制作春联的示例代码
2022/01/22 Python
vue组件vue-esign实现电子签名
2022/04/21 Vue.js
python解析照片拍摄时间进行图片整理
2022/07/23 Python