Я использую ModelViewSet
с классом разрешений IsAuthenticatedOrReadOnly
, например:
class PostViewSet(viewsets.ModelViewSet, MarkdownToHTML):
permission_classes = (IsAuthenticatedOrReadOnly,)
Когда я вызываю это представление в API с возможностью просмотра, данные возвращаются примерно через 1100 мс (ужеслишком долго), но когда я вызываю его из моего интерфейса, вызов занимает 6000-7000 мс!
Единственное различие между этими двумя методами вызова одного и того же представления заключается в том, что я передаю токен json из моего приложения пользовательского интерфейса.Когда я закомментирую заголовок токена, ответ возвращается примерно через 1 секунду, то же самое время, что и в API с возможностью просмотра.
Как этот простой шаг аутентификации может занять более 5 секунд?
Воткласс разрешения:
class IsAuthenticatedOrReadOnly(BasePermission):
"""
The request is authenticated as a user, or is a read-only request.
"""
def has_permission(self, request, view):
return (
request.method in SAFE_METHODS or
request.user and
request.user.is_authenticated
)