#python #django #django-views #parameter-passing #django-rest-viewsets
Вопрос:
Я пытаюсь сделать запрос get с аргументом ID в django, как сказано в документе https://docs.djangoproject.com/en/3.2/topics/class-based-views/ но я, кажется, не могу заставить это работать.
Запрос поступает в серверную часть, как и ожидалось. "GET /api/acordo-parcela/1/ HTTP/1.1" 200 348
где 1-мое удостоверение личности. но даже после создания нового URL-шаблона он не достигает класса представления
URL-шаблон: path('/acordo-parcela/<int:clienteId>/', GetParcelas.as_view()),
Класс GetParcelas:
class GetParcelas(APIView):
print("test")
def get(self, request, clienteId):
print("inside")
return Response(clienteId)
Я прочитал документы по https://docs.djangoproject.com/en/3.2/topics/http/urls/ и попробовал с видами.AcordoParcelaViewSet (набор представлений, который я создал соответствующим образом), но продолжаю получать ошибку «не имеет атрибута». Каков более простой способ сделать этот запрос get с аргументом?
Комментарии:
1. Вам нужно иметь self в качестве первого параметра в функции get, так как это внутренняя функция класса. Подробнее об этом читайте здесь geeksforgeeks.org/self-in-python-class .
2. Пробовали как с аргументом self, так и без него (self, request, clienteId) как так. как с GetParcelas.as_view (), так и с представлениями. AcordoParcelaViewSet, но все еще не вызывает мою функцию
3. Если вы добавите себя, то это сработает, я только что протестировал код, если вы можете поделиться своим view.py и urls.py тогда только люди могут сказать, потому что. Код выглядит совершенно нормально, за исключением того факта, что вам нужно добавить self и вернуть ответ из функции get.
4. Я отредактировал код в том виде, в каком он есть в настоящее время с изменениями, но все еще не работает. Я не могу поделиться полным документом, но я заверяю вас, что импортирую все соответствующим образом.
5. Можете ли вы поделиться ошибками/ завершить отслеживание