我的Django模型中有一个图像字段,我试图获取从Graphene输出的图像字段的绝对路径。我记得使用imshow()
来获取文件/图像字段的绝对uri。因此,我决定在Graphene Django中使用相同的功能:
HttpRequest.build_absolute_uri
因为这里的请求不是Django的HttpRequest(它是WSGI请求),所以我无法使用Django请求的某些实用程序功能。
是否可以通过WSGIRequest创建HttpRequest,或者是否可以通过其他方法在Graphene Django中构建完整的URL?在阅读文档,源代码或Internet中的资源后,我无法找到解决问题的方法。
答案 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