gpt4 book ai didi

python - Django Rest Framework 中的空路由

转载 作者:行者123 更新时间:2023-12-01 02:12:13 25 4
gpt4 key购买 nike

我正在尝试将一个简单的方法注册到 DRF 中我遇到了一些问题。 API Explorer 中路线未显示

这可能是我缺少的一些简单的东西..
如何让注册路由显示在 API 中?

Resuts (empty)

GET /api/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{}

Urls

from django.conf.urls import url, include
from django.contrib import admin
from rest_framework import routers
from rest_framework_jwt.views import obtain_jwt_token

from reservations.views.homepage import HomepageView
from users.views import UserViewSet

""" API routes
"""
router = routers.DefaultRouter()
router.register(r'test', UserViewSet, base_name='users')

""" Route patterns
"""
urlpatterns = [
url(r'^$', HomepageView.as_view(), name='homepage'),
url(r'^api/', include(router.urls)),
url(r'^api-token-auth/', obtain_jwt_token),
url(r'^admin/', admin.site.urls),
]

Viewset

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from rest_framework import viewsets
from rest_framework.response import Response


class UserViewSet(viewsets.ViewSet):

def register(self, request):
return Response({
'status': 'User registered'
})

最佳答案

ViewSet 对于每种方法(GET、POST、PUT 等)都有一些特定的方法,例如列表、详细信息、创建、更新等。您应该使用这些方法。 Api 资源管理器根据这些方法来决定您的 View 允许哪种方法。可以看这些方法here .

就您而言,我想您想创建新用户。所以你应该使用这样的 create 方法。

class UserViewSet(viewsets.ViewSet):

def create(self, request, *args, **kwargs):
return Response({
'status': 'User registered'
})

关于python - Django Rest Framework 中的空路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com