访问网址/ show_image /,/ products /,/ categories /时出现以下问题。但是show_image /(?P [\ w-] +)/ $ url工作正常
Expected view ShowImageList to be called with a URL keyword argument named "pk". Fix your URL conf, or set the `.lookup_field` attribute on the view correctly.
我的urls.py是
url(r'^products',ProductList.as_view({'get': 'retrieve'}), name="product-list"),
url(r'^show_image/$', ShowImageList.as_view({'get': 'retrieve'}), name='ShowImage'),
url(r'^show_image/(?P<pk>[\w-]+)/$', ShowImageDetail.as_view({'get': 'retrieve'}), name='image_detail'),
url(r'^categories/', Categories.as_view({'get': 'retrieve'}), name= 'categories'),
我的views.py是
class ShowImageList(ResponseModelViewSet):
queryset = ProductImage.objects.all()
serializer_class = ShowImageSerializer
def post(self, request, *args, **kwargs):
file = request.data['original']
product = request.data['product']
caption = request.data['caption']
display_order = request.data['display_order']
p = Product.objects.get(pk=product)
ProductImage.objects.create(product=p, original=file, caption=caption, display_order=display_order)
return Response(json.dumps({'message': "Uploaded"}))
class ShowImageDetail(ResponseModelViewSet):
queryset = ProductImage.objects.all()
serializer_class = ShowImageSerializer
class ProductList(ResponseModelViewSet):
serializer_class = ProductLinkSerializer
model=Product
def get_queryset(self):
return Product.objects.all()
除/ show_image /(?P [\ w-] +)/ $
之外,每个网址都面临相同的错误