首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rest框架"get()缺失1必需的位置参数“

rest框架"get()缺失1必需的位置参数“
EN

Stack Overflow用户
提问于 2017-11-28 02:47:24
回答 1查看 5.2K关注 0票数 3

我想传送一个GET参数'pk‘到django rest框架。

浏览器

但是在我的view.py中,我设置了GET方法来接收‘pk’参数。

views.py

这是urls.py代码:

还有一个问题,如果我对对象进行建模,在pycharm中使用'objects‘方法,则抛出一个异常,例如:

但我的朋友并没有发生这种例外。他使用吡咯烷酮2017.4(macOS)

代码语言:javascript
复制
cateloydata = category.objects.all()

我的pycharm版本:pycharm 2017.2 python版本3.6Django版本1.11.7

谢谢大家。

很抱歉,我至少需要10个名誉才能发布照片。所以我的问题写得很糟糕。

感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-28 03:01:43

当您在您的url中添加params时,您必须向您的方法定义添加一个额外的param,如下所示:

代码语言:javascript
复制
# urls.py
url(r'^questions/(?P<pk>[\w:|-]+)/$', TheView.as_view(), name='view')

在上面的url中,您正在传递一个url param (pk),所以您必须在方法中接收它:

代码语言:javascript
复制
# views.py
class TheView(APIView):
   def get(self, request, pk):
     ...

但在您的情况下,您希望通过查询参数传递数据。

代码语言:javascript
复制
# urls.py
url(r'^questions/$', TheView.as_view(), name='view')

因此,您不必在方法声明中接收它,请使用:

def get(self, request): pk = request.GET.get('pk')

而不是。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47523151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档