Skip to main content
 首页 » 编程设计

python之Django Rest Framework——如何获取urls.py中的Http头信息

2025年05月04日25shanyou

我正在制作一个基于 Django 的 API,这是我的 urls.py。

from django.conf.urls import include, url 
 
api_version = "v1" 
 
urlpatterns = [ 
    url(r'^v1/', include( "api."+ api_version +".urls", namespace=api_version )), 
] 

我想做的是从 http accept header 中检索 API 版本。我尝试使用 django.http.HttpRequest 模块,但没有成功。

有什么办法可以实现吗?

请您参考如下方法:

您无法访问 urls.py 上的请求,请参阅:How Django processes a request

您可以配置versioning在 django-rest-framework 上获取 version 请求对象,如:

class SampleView(APIView): 
 
 def post(self, request, format=None): 
     if request.version == '1': 
         return Response(status=status.HTTP_410_GONE) 

或者使用URLPathVersioning 方法。