django中的restful

本文介绍了RESTful架构风格在Django中的应用,强调了它在前后端分离中的作用,详细说明了RESTful的四个核心操作:GET、POST、PUT、DELETE,并讨论了如何在Django中组织视图函数和类视图,遵循API设计原则,包括接口测试和模拟请求工具的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

restful

软件架构风格,是一种思想
主要用在客户端和服务端这种模型中
实现的就是前后端分离

  1. 每一个URL代表1种资源;
  2. 客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
  3. 通过操作资源的表现形式来操作资源;
  4. 资源的表现形式是XML或者HTML;
  5. 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息

理解

变现层状态转换
表征性状态转移
其实就是资源(Resource)的表现形式发生了转换
客户端要实现状态转换,通过请求谓词
	GET
	POST
	PUT
	DELETE
	PATCH

可以通过将django项目中的views.py或者models.py等文件转换成python包的形式,来区分不同的对象的操作,例如将某个类的视图函数统一放在views包中的某一个.py文件中,然后在views包的__init__.py文件中导入相关视图函数来调用

Api设计原则

协议 http(s)
专属域名或前缀
可以在路径中包含版本
在QueryString包含过滤信息
路径通常是名词复数
传输格式JSON
尽量带有超链接 
认证使用OAuth2.0
	认证时返回token,通过token来验证信息,保证信息的安全性

简单实现

针对一个接口的不同请求方式,进行不同的处理
GET /collection/
	获取一个集合/列表
GET /collection/id/
	获取单个数据
POST /collection/
	创建一个对象
POST /collection/id/
	修改/更新数据
PUT
PATCH
DELETE /collection/id/
	删除一个对象

接口创建好之后进行接口测试、
模拟请求工具:

Pycharm自带的模拟请求工具
	Tools——HTTP Client中的模拟请求工具
Postman
httpie

视图函数:

视图函数分为两种
FBV:
function base view
使用函数实现的视图

CBV
class base view
使用类实现的视图

此时我们发现在Django中,MTV都可以继承

类视图

使用
	继承自系统的类视图View
	书写请求方法对应的函数、函数名就是请求方法名字的小写
	注册路由 类视图.as_view()
类视图源码,执行流程
	客户端->urls
	urls -> as_view()
	as_view()中进行的操作
		dispatch
			根据请求方法去类中查找属性
			不存在则直接抛异常:请求方法不被允许
			如果存在 调用对应的方法
		传参
			参数必须是已经存在的非请求方法的方法名字的属性
		默认支持options请求
		默认head请求和get一致

类视图

View
	as_view
	内部定义了一个view
	dispatch
		根据请求方法的名字进行分发

View的子类

TemplateView
	通过多继承实现的
	需要指定template_name
ListView
	渲染在模板上
	template_name
	数据
		queryset
DetailView
	渲染在模板上
	template_name
	数据
		model
		queryset
	单一实例
		pk
		slug
以后大部分情况是前后端分离,view的子类需要了解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值