如何在基于 class 的视图中传递 URL 中的变量
How to pass a variable in the URL in class based views
我有以下事件供稿(使用 Django-ical
)
class EventFeed(ICalFeed):
def items(self):
meeting_id = self.kwargs['meeting_id']
return Meeting.objects.get(id=meeting_id)
我正在尝试通过 URL conf 传递 meeting_id
,如下所示:
url(r'^meetings/(?P<meeting_id>\d+)/$', EventFeed()),
然而这returns'EventFeed' object has no attribute 'kwargs'
?
正如丹尼尔在评论中指出的那样,这是一个联合框架。因此我们需要在 Meeting
对象上使用 get_object
,并且 filter
而不是 get
:
class EventFeed(ICalFeed):
def get_object(self, request, *args, **kwargs):
return int(kwargs['meeting_id'])
def items(self, meeting_id):
return Meeting.objects.filter(id=meeting_id)
我有以下事件供稿(使用 Django-ical
)
class EventFeed(ICalFeed):
def items(self):
meeting_id = self.kwargs['meeting_id']
return Meeting.objects.get(id=meeting_id)
我正在尝试通过 URL conf 传递 meeting_id
,如下所示:
url(r'^meetings/(?P<meeting_id>\d+)/$', EventFeed()),
然而这returns'EventFeed' object has no attribute 'kwargs'
?
正如丹尼尔在评论中指出的那样,这是一个联合框架。因此我们需要在 Meeting
对象上使用 get_object
,并且 filter
而不是 get
:
class EventFeed(ICalFeed):
def get_object(self, request, *args, **kwargs):
return int(kwargs['meeting_id'])
def items(self, meeting_id):
return Meeting.objects.filter(id=meeting_id)