gpt4 book ai didi

python - Django URL 到 View 的映射

转载 作者:行者123 更新时间:2023-12-01 04:00:19 24 4
gpt4 key购买 nike

我有一个 View 集和其中的一些方法,getschedule 就是其中之一。

def getschedule(self, request):

在 urls.py 中,如果我像这样映射方法 getschedule

url(r'^event/(?P<pk>[0-9]+)/getschedule/$', EventSingleViewSet.getschedule, name='event-schedule'),

我收到此错误“getschedule() 缺少 1 个必需的位置参数:'请求'“

但是如果我像这样进行映射,

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

它有效并给了我回复。

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

我还想知道如何使我的第一种方法发挥作用。

最佳答案

如果您的 View 集已经绑定(bind)到路由器,那么您可以使用

@detail_route 或 @list_route 将其指向包含 View 集方法名称的 URL。

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

否则,使用扩展 APIView 的平面 View 类并将 URL 指向它是有意义的。

View 集主要在绑定(bind)到路由器时有用。

关于python - Django URL 到 View 的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36673277/

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