使用API​​View接收参数

kam*_*mbi 5 python django routes restful-url

我有这个路由:

   url(r'^article/(?P<article_id>\d+)/', views.ArticleList.as_view())
Run Code Online (Sandbox Code Playgroud)

这导致了这个函数:

class RSSList(APIView):
    def get(self, request, *args, **kwargs):
        article_id = kwargs.get('article_id')
Run Code Online (Sandbox Code Playgroud)

但是当我尝试查询类似 /article/34 的内容时

我收到此错误:

TypeError: get() got an unexpected keyword argument 'article_id'
Run Code Online (Sandbox Code Playgroud)

如何将article_id传递给get()?

谢谢

Man*_*mer 10

你也可以这样得到:

def get(self, request, article_id):
   print(article_id) #for >3.2
   print article_id # for 2.7
Run Code Online (Sandbox Code Playgroud)

如果你想让它成为可选:

def get(self, request, article_id=None):
Run Code Online (Sandbox Code Playgroud)