#python #django #django-rest-framework
#python #django #django-rest-framework
Вопрос:
Я изучаю фреймворк Django rest. Я знаю, как использовать представления на основе классов. Зачем методам GET, PUT, DELETE и Т.Д. нужен параметр «запрос», даже если сам объект содержит тот же атрибут запроса?
Например, в этом коде:
class ArticleDetailViewAPIView(APIView):
def get_object(self, pk):
object = get_object_or_404(Article, pk=pk)
return object
def get(self, request, pk):
object = self.get_object(pk=pk)
serializer = SerializerArticle(object)
return Response(serializer.data)
Например, если в методе get я помещаю строку:
print("Equal: ", self.request is request)
В консоли вывод имеет значение TRUE
Комментарии:
1. В Django каждое представление должно иметь требуемый аргумент
request
. В случаях CBV входящий запрос устанавливается как атрибут экземпляра , чтобы получить лучшийOOP
интерфейс2. Итак, только для целей соглашения?