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

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

这是urls.py代码:

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

但我的朋友并没有发生这种例外。他使用吡咯烷酮2017.4(macOS)
cateloydata = category.objects.all()我的pycharm版本:pycharm 2017.2 python版本3.6Django版本1.11.7
谢谢大家。
很抱歉,我至少需要10个名誉才能发布照片。所以我的问题写得很糟糕。
感谢!
发布于 2017-11-28 03:01:43
当您在您的url中添加params时,您必须向您的方法定义添加一个额外的param,如下所示:
# urls.py
url(r'^questions/(?P<pk>[\w:|-]+)/$', TheView.as_view(), name='view')在上面的url中,您正在传递一个url param (pk),所以您必须在方法中接收它:
# views.py
class TheView(APIView):
def get(self, request, pk):
...但在您的情况下,您希望通过查询参数传递数据。
# urls.py
url(r'^questions/$', TheView.as_view(), name='view')因此,您不必在方法声明中接收它,请使用:
def get(self, request): pk = request.GET.get('pk')
而不是。
https://stackoverflow.com/questions/47523151
复制相似问题