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 29 Python
Python的垃圾回收机制深入分析
Jul 16 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
Python生成指定数量的优惠码实操内容
Jun 18 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
Python FtpLib模块应用操作详解
Dec 12 Python
Python生成pdf目录书签的实例方法
Oct 29 Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 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 进程锁定问题分析研究
2009/11/24 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
Python利用IPython提高开发效率
2016/08/10 Python
用python实现百度翻译的示例代码
2018/03/09 Python
基于python实现简单日历
2018/07/28 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
python文件操作的简单方法总结
2019/11/07 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
小学教师岗位职责
2013/11/25 职场文书
运动会开幕式解说词
2014/02/05 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
煤矿安全协议书
2014/08/20 职场文书
优秀团员事迹材料
2014/12/25 职场文书