- Returning URLs - Django REST fra
- django.template.exceptions.Templ
- 【Vue+DRF生鲜电商】26.使用Pycharm远程代码调试服
- 【Vue+DRF生鲜电商】28.支付宝支付接口类解读,支付逻辑编
- 【Vue+DRF生鲜电商】29.线上服务支付宝接口和Vue联调,
- 【Vue+DRF生鲜电商】27.支付宝公钥,私钥,沙箱环境配置
- 【Vue+DRF生鲜电商】33.数据缓存、接口访问限速功能
- 【Vue+DRF生鲜电商】32.商品操作后计数更改,热搜榜关键字
- 【Vue+DRF生鲜电商】30.首页轮播图、新品展示功能
- 【Vue+DRF生鲜电商】31.首页商品按分类显示推荐功能
返回URL-Django REST框架
返回URL
将REST体系结构风格与其他基于网络的风格区分开来的中心特性是它强调组件之间的统一接口。
罗伊·菲尔丁体系结构风格与基于网络的软件体系结构设计
通常,最好从WebAPI返回绝对URI,例如http://example.com/foobar
,而不是返回相对URI,例如/foobar
.
这样做的好处是:
- 更明确一些。
- 它为您的API客户端留下了更少的工作。
- 当字符串出现在没有本机URI类型的JSON等表示中时,对字符串的含义没有任何含糊之处。
- 它使得使用超链接进行标记HTML表示这样的事情变得很容易。
REST框架提供了两个实用函数,使从WebAPI返回绝对URI更加简单。
您不需要使用它们,但是如果您使用它们,那么自描述API将能够自动为您超链接其输出,从而使浏览API更加容易。
倒转
签署: reverse(viewname, *args, **kwargs)
有相同的行为django.urls.reverse
,除非它返回一个完全限定的URL,使用请求来确定主机和端口。
你应该将请求包含为关键字参数,例如:
from rest_framework.reverse import reverse
from rest_framework.views import APIView
from django.utils.timezone import now
class APIRootView(APIView):
def get(self, request):
year = now().year
data = {
...
'year-summary-url': reverse('year-summary', args=[year], request=request)
}
return Response(data)
反向懒惰
签署: reverse_lazy(viewname, *args, **kwargs)
有相同的行为django.urls.reverse_lazy
,除非它返回一个完全限定的URL,使用请求来确定主机和端口。
就像倒转
函数,你应该将请求包含为关键字参数,例如:
api_root = reverse_lazy('api-root', request=request)
网友评论