drf如何把url中的id
时间: 2024-02-20 10:00:03 浏览: 14
在 Django REST framework (DRF) 中,可以通过使用 URL 参数来获取 URL 中的 id。具体来说,可以在 URL 中使用类似于 `<int:pk>` 的占位符来捕获 id,并将其传递给视图函数或类。
例如,在使用 DRF 的通用视图时,可以在 URLConf 中使用以下代码来定义 URL:
```python
from django.urls import path
from .views import MyModelDetailView
urlpatterns = [
path('my-model/<int:pk>/', MyModelDetailView.as_view()),
]
```
在上面的代码中,`<int:pk>` 表示 URL 中的 id,它将作为一个整数参数传递给 `MyModelDetailView` 视图类中的 `get` 方法。
在视图函数中,可以使用 `kwargs` 参数来访问 URL 参数。例如:
```python
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view(['GET'])
def my_view(request, **kwargs):
my_model_id = kwargs.get('pk')
# do something with my_model_id
return Response(...)
```
在上面的代码中,`my_view` 函数使用 `api_view` 装饰器来指定 HTTP 方法,并通过 `kwargs` 参数获取 URL 参数。然后可以使用 `my_model_id` 变量来访问 URL 中的 id。