石墨烯Django图像字段获取绝对路径

时间:2019-03-28 18:36:30

标签: python django graphene-python

我的Django模型中有一个图像字段,我试图获取从Graphene输出的图像字段的绝对路径。我记得使用imshow()来获取文件/图像字段的绝对uri。因此,我决定在Graphene Django中使用相同的功能:

HttpRequest.build_absolute_uri

因为这里的请求不是Django的HttpRequest(它是WSGI请求),所以我无法使用Django请求的某些实用程序功能。

是否可以通过WSGIRequest创建HttpRequest,或者是否可以通过其他方法在Graphene Django中构建完整的URL?在阅读文档,源代码或Internet中的资源后,我无法找到解决问题的方法。

2 个答案:

答案 0 :(得分:1)

是否可以通过WSGIRequest创建HttpRequest?。

WSGIRequest继承自django.http.HttpRequest,因此,您应该能够使用Django请求的所有“公共”实用程序功能。

因此,WSGIRequest并不是您真正的问题。如果info.context确实是WSGIRequest,则可以:

 info.context.build_absolute_uri(self.photo)

没有任何问题。

我的猜测

由于您没有发布收到的错误,我不得不在这里猜测问题出在self.photo中。

答案 1 :(得分:0)

谢谢您的工作,具体的错字是:

    def resolve_image(self, info):
        """Resolve product image absolute path"""
        if self.image:
            self.image = info.context.build_absolute_uri(self.image.url)
        return self.image