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中pycurl库的用法实例
Sep 30 Python
Python中操作MySQL入门实例
Feb 08 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
Python搜索引擎实现原理和方法
Nov 27 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
python对验证码降噪的实现示例代码
Nov 12 Python
python列表返回重复数据的下标
Feb 10 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
史上最详细的Python打包成exe文件教程
Jan 17 Python
python实现简易名片管理系统
Apr 11 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/04/17 PHP
php如何计算两坐标点之间的距离
2018/12/29 PHP
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
2019/03/16 jQuery
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
python黑魔法之参数传递
2016/02/12 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
详解python3中tkinter知识点
2018/06/21 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
PyQt 如何创建自定义QWidget
2021/03/24 Python
英语系本科生个人求职信
2013/09/21 职场文书
上班看电影检讨书
2014/02/12 职场文书
股份合作协议书范本
2014/04/14 职场文书
2014年手术室工作总结
2014/11/26 职场文书
升学宴家长致辞
2015/07/27 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android