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 相关文章推荐
详解tensorflow实现迁移学习实例
Feb 10 Python
Python实现打砖块小游戏代码实例
May 18 Python
python3 深浅copy对比详解
Aug 12 Python
Python for i in range ()用法详解
Sep 18 Python
基于python plotly交互式图表大全
Dec 07 Python
Python如何通过百度翻译API实现翻译功能
Apr 02 Python
pygame实现弹球游戏
Apr 14 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
运行python提示no module named sklearn的解决方法
Nov 29 Python
Python中zipfile压缩包模块的使用
May 14 Python
Requests什么的通通爬不了的Python超强反爬虫方案!
May 20 Python
分析Python list操作为什么会错误
Nov 17 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脚本的测试方法
2015/08/05 PHP
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
使用Python的PEAK来适配协议的教程
2015/04/14 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
详解python的四种内置数据结构
2019/03/19 Python
关于python3中setup.py小概念解析
2019/08/22 Python
Python中SQLite如何使用
2020/05/27 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
母亲80寿诞答谢词
2014/01/16 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
给老师的一封感谢信
2015/01/20 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
房屋质量投诉书
2015/07/02 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
React配置子路由的实现
2021/06/03 Javascript
分享7个 Python 实战项目练习
2022/03/03 Python
Fluentd搭建日志收集服务
2022/09/23 Servers