как войти на страницу graphql (localhost: 8000 / graphql) с помощью django - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу использовать функцию @login_required, как показано ниже.и я хочу проверить, правильно ли работает запрос.

import graphene 
from graphql_jwt.decorators import login_required


class Query(graphene.ObjectType):
    user = graphene.Field(UserType)

    @login_required
    def resolve_me(self, info):
        user=info.context.user
        return types.UserProfileResponse(user=user)

я поместил код в graphql (localhost: 8000 / graphql)

query {me {user {id}}}}

сообщение о том, что у вас нет разрешения на выполнение этого действия

Я думаю, может быть, мне нужно передать токен в graphql.но я не знаю, как дать токен.не могли бы вы научить меня?

1 Ответ

0 голосов
/ 03 апреля 2019

@login_required - это декоратор для функции просмотра (которая принимает request в качестве первого параметра), вы не можете использовать его в своем методе.

Вы должны выполнить проверку вручную (if user.is_authenticated ...) или переместить ее в представление.Последний вариант - лучший вариант, потому что представление может решить, как реагировать в этом случае, тогда как ваш метод не может.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...