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中使用判断语句和循环的教程
Apr 25 Python
浅析Python中将单词首字母大写的capitalize()方法
May 18 Python
Python 编码处理-str与Unicode的区别
Sep 06 Python
python中range()与xrange()用法分析
Sep 21 Python
python中关于for循环的碎碎念
Jun 30 Python
python中必要的名词解释
Nov 20 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
提升python处理速度原理及方法实例
Dec 25 Python
Python Celery异步任务队列使用方法解析
Aug 10 Python
Python使用requests模块爬取百度翻译
Aug 25 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
JS常用知识点整理
2017/01/21 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
js+html制作简单日历的方法
2017/06/27 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
netbeans7安装python插件的方法图解
2013/12/24 Python
python修改操作系统时间的方法
2015/05/18 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Python数据类型学习笔记
2016/01/13 Python
python框架django基础指南
2016/09/08 Python
python3.7.0的安装步骤
2018/08/27 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
Django Rest framework频率原理与限制
2019/07/26 Python
Data URI scheme详解和使用实例及图片base64编码实现方法
2014/05/08 HTML / CSS
创建服务型党组织实施方案
2014/02/25 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
cf收人广告词大全
2014/03/14 职场文书
新春联欢会主持词
2014/03/24 职场文书
2014年党课学习材料
2014/05/11 职场文书
优秀家长事迹材料
2014/05/17 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL