簡體   English   中英

Django URL到視圖的映射

[英]Django URL to View mapping

我有一個視圖集和其中的一些方法,getschedule是其中之一。

def getschedule(self, request):

在urls.py中,如果我這樣映射方法getschedule

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

我收到此錯誤“ 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])

它有效,並給了我一個回應。

我不明白在第二種方法中如何將請求傳遞給方法。 需要幫助了解這一點。

我也想知道如何使我的第一種方法起作用。

如果您的視圖集已經綁定到路由器,則可以使用

@detail_route或@list_route將其指向帶有您的viewset方法名稱的URL。

檢查文檔的此部分: http : //www.django-rest-framework.org/tutorial/6-viewsets-and-routers/

否則,使用擴展APIView的平面視圖類並為其指向URL是有意義的。

當綁定到路由器時,視圖集主要有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM