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 的 with 语句详解
Jun 13 Python
在Python操作时间和日期之asctime()方法的使用
May 22 Python
Python中序列的修改、散列与切片详解
Aug 27 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Djang的model创建的字段和参数详解
Jul 27 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
Django CBV模型源码运行流程详解
Aug 17 Python
Python安装Bs4的多种方法
Nov 28 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 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
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
angular.bind使用心得
2015/10/26 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
原生js实现放大镜
2017/02/20 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
python list语法学习(带例子)
2013/11/01 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
通过实例解析python描述符原理作用
2020/01/22 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
网络信息管理员岗位职责
2014/01/05 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
检讨书怎么写
2015/05/07 职场文书
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
Django框架模板用法详解
2022/06/10 Python