#django #django-rest-framework
Вопрос:
🚨 Мне отчаянно нужен @classmethod
я использую этот код:
from rest_framework.response import Response
class MyClass():
@classmethod
@api_view(['GET', 'POST', 'PUT', 'DELETE'])
def CRUD(cls, request, id=0):
#.....
return Response({})
urlpatterns = [
re_path(r'^user/(?:(?P<id>[1-9] )/)?
получить ошибку:
The 'request' argument must be an instance of 'django.http.HttpRequest', not 'builtins.type'.
пожалуйста, помогите ; Благодарен 🙏 🏻 🙏 🏻
Комментарии:
1. Вы получаете эту ошибку, когда/где именно? Пожалуйста, опубликуйте полную обратную связь.
2.
@api_view
не подходит для представлений на основе классов3. @deceze для всех запросов , у меня эта ошибка
4. @404pio Что мне делать? 😢
Ответ №1:
Как сказал @404pio. Либо вы используете представление на основе классов, либо представление на основе функций. Вы не можете их смешивать.
представление на основе классов
from rest_framework.response import Response
from rest_framework.views import APIView
class MyClass(APIView):
def get(self, request, id):
# do stuff
return Response(...)
def post(self, request, id):
# do stuff
return Response(...)
.
.
.
urlpatterns = [
re_path(r'^user/(?:(?P<id>[1-9] )/)?
или
представление на основе функций
@api_view(['GET', 'POST'...])
def my_fbv(request, id):
if request.method == 'GET':
# do stuff
elif request.method == 'POST':
# do stuff
.
.
.
urlpatterns = [
re_path(r'^user/(?:(?P<id>[1-9] )/)?
получить ошибку:
, UserView.CRUD)
]
The 'request' argument must be an instance of 'django.http.HttpRequest', not 'builtins.type'.
пожалуйста, помогите ; Благодарен 🙏 🏻 🙏 🏻
Комментарии:
1. Вы получаете эту ошибку, когда/где именно? Пожалуйста, опубликуйте полную обратную связь.
2.
@api_view
не подходит для представлений на основе классов3. @deceze для всех запросов , у меня эта ошибка
4. @404pio Что мне делать? 😢
Ответ №1:
Как сказал @404pio. Либо вы используете представление на основе классов, либо представление на основе функций. Вы не можете их смешивать.
представление на основе классов
или
представление на основе функций
, MyClass.as_view())
]
или
представление на основе функций
, UserView.CRUD)
]
получить ошибку:
The 'request' argument must be an instance of 'django.http.HttpRequest', not 'builtins.type'.
пожалуйста, помогите ; Благодарен 🙏 🏻 🙏 🏻
Комментарии:
1. Вы получаете эту ошибку, когда/где именно? Пожалуйста, опубликуйте полную обратную связь.
2.
@api_view
не подходит для представлений на основе классов3. @deceze для всех запросов , у меня эта ошибка
4. @404pio Что мне делать? 😢
Ответ №1:
Как сказал @404pio. Либо вы используете представление на основе классов, либо представление на основе функций. Вы не можете их смешивать.
представление на основе классов
или
представление на основе функций
, my_module.my_fbv)
]
, UserView.CRUD)
]получить ошибку:
The 'request' argument must be an instance of 'django.http.HttpRequest', not 'builtins.type'.
пожалуйста, помогите ; Благодарен 🙏 🏻 🙏 🏻
Комментарии:
1. Вы получаете эту ошибку, когда/где именно? Пожалуйста, опубликуйте полную обратную связь.
2.
@api_view
не подходит для представлений на основе классов3. @deceze для всех запросов , у меня эта ошибка
4. @404pio Что мне делать? 😢
Ответ №1:
Как сказал @404pio. Либо вы используете представление на основе классов, либо представление на основе функций. Вы не можете их смешивать.
представление на основе классов
или
представление на основе функций
, MyClass.as_view())
]или
представление на основе функций
, UserView.CRUD)
]получить ошибку:
The 'request' argument must be an instance of 'django.http.HttpRequest', not 'builtins.type'.
пожалуйста, помогите ; Благодарен 🙏 🏻 🙏 🏻
Комментарии:
1. Вы получаете эту ошибку, когда/где именно? Пожалуйста, опубликуйте полную обратную связь.
2.
@api_view
не подходит для представлений на основе классов3. @deceze для всех запросов , у меня эта ошибка
4. @404pio Что мне делать? 😢
Ответ №1:
Как сказал @404pio. Либо вы используете представление на основе классов, либо представление на основе функций. Вы не можете их смешивать.
представление на основе классов
или