Графен Джанго поле изображения получить абсолютный путь - PullRequest
0 голосов
/ 28 марта 2019

У меня есть поле изображения в моей модели Django, и я пытаюсь получить абсолютный путь к выводу поля изображения из графена. Я помню, как получал абсолютный URI поля файла / изображения, используя HttpRequest.build_absolute_uri. Итак, я решил использовать ту же функцию в Graphene Django:

class PersonType(DjangoObjectType):
    def resolve_photo(self, info, **kwargs):
        print(info.context) # WSGIRequest
        print(info.context.build_absolute_uri(self.photo)) # Error here
        return self.photo

    class Meta:
       model = Person

Поскольку запрос здесь не является запросом HttpRequest Джанго (это запрос WSGI), я не могу использовать некоторые служебные функции запроса Джанго.

Есть ли способ создать HttpRequest из WSGIRequest или есть какой-то другой способ создания полных URL в Graphene Django? Читая документы, исходный код или ресурсы в Интернете, я не могу найти решение своей проблемы.

1 Ответ

1 голос
/ 28 марта 2019

Есть ли способ создать HttpRequest из WSGIRequest ..?

WSGIRequest наследуется от django.http.HttpRequest, поэтому вы должны иметь возможность использовать все «публичные» служебные функции запроса Django.

То есть наличие WSGIRequest не ваша настоящая проблема. Если info.context действительно WSGIRequest, вы должны:

 info.context.build_absolute_uri(self.photo)

без проблем.

Мое предположение

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

...