Django URL到视图映射

2024-09-26 22:12:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个viewset和一些方法,getschedule就是其中之一。在

def getschedule(self, request):

在网址.py如果我像这样映射getschedule方法

^{pr2}$

我得到这个错误“getschedule()缺少1个必需的位置参数:'request' “

但如果我像这样做地图

url(r'^event/(?P<pk>[0-9]+)/getschedule/$', event_getschedule, name='event-schedule'),
......
event_getschedule = EventViewSet.as_view({
    'get': 'getschedule'
}, renderer_classes=[JSONRenderer])

它起作用了,给了我一个回应。在

我不明白第二种方法是如何将请求传递给方法的。需要帮助理解这一点。在

我还想知道如何使我的第一种方法有效。在


Tags: 方法pyselfeventurl参数requestdef
1条回答
网友
1楼 · 发布于 2024-09-26 22:12:43

如果视图集已经绑定到路由器,则可以使用

@detail_route或@list_route将其指向具有viewset方法名称的url。在

检查文档的这一部分:http://www.django-rest-framework.org/tutorial/6-viewsets-and-routers/

否则,使用平面视图类扩展apieview并指向它的URL是有意义的。在

视图集主要用于绑定到路由器时。在

相关问题 更多 >

    热门问题