drf反向解析url

drf也可以使用反向解析,使用的方式和django的路由反向解析类似。

使用步骤:

  • url中通过参数name配置视图别名
  • 在视图函数中使用drf的reverse()方法,反向解析出需要的url
# urls.py
urlpatterns = [
    path('mytest/', views.Test.as_view(), name='test')		# 通过参数name给视图起别名
]

# urls.py
from rest_framework.reverse import reverse		# 导入reverse方法


class Test(APIView):
    def get(self, request):
        back_info = {
            'url': reverse(viewname='test', request=request),		# 使用reverse()反向解析出'test'视图别名的url
        }
        return Response(back_info)
  

# 反向解析可以在任意视图中解析任意其他视图的url,一般是在某种需要下将反向解析处的url传给前端,用于直接访问。

"""
方法
reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra):
参数:
	viewname: 就是urls中通过name参数指定的视图别名
	args: 是无名分组时反向解析需要的列表列表
	kwargs:是有名分组时反向解析需要的参数字典
	request: 是当前请求request
"""
    
posted @ 2020-07-20 18:46  the3times  阅读(457)  评论(0编辑  收藏  举报