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创建XML文档
Mar 01 Python
python发送arp欺骗攻击代码分析
Jan 16 Python
Python中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
python 排序算法总结及实例详解
Sep 28 Python
Python编写登陆接口的方法
Jul 10 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
Jan 30 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
Python实现打印实心和空心菱形
Nov 23 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
python如何绘制疫情图
Sep 16 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
php页面缓存方法小结
2015/01/10 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
javascript中Object使用详解
2015/01/26 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
深入浅出了解Node.js Streams
2019/05/27 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
python中文乱码的解决方法
2013/11/04 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
对Python信号处理模块signal详解
2019/01/09 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
django下创建多个app并设置urls方法
2020/08/02 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
2014年自愿离婚协议书
2014/10/10 职场文书
复兴之路展览观后感
2015/06/02 职场文书
荒岛余生观后感
2015/06/09 职场文书
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL