我的Django模型中有一个图像区域,我正在尝试从Graphene输出图像场的绝对路径。我记得使用HttpRequest.build_absolute_uri
获取文件/图像字段的绝对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
因为这里的请求不是Django的HttpRequest(它是WSGI请求),所以我无法使用Django请求的一些实用函数。
有没有办法从WSGIRequest创建HttpRequest,还是有其他方法在Graphene Django中构建完整的URL?阅读互联网上的文档,源代码或资源,我无法找到解决问题的方法。
有没有办法从WSGIRequest创建Http请求..?
WSGIRequest
继承自django.http.HttpRequest
所以,你应该能够使用Django请求的所有“公共”实用函数。
所以有一个WSGIRequest
不是你真正的问题。如果info.context
真的是WSGIRequest
,你应该可以:
info.context.build_absolute_uri(self.photo)
没有任何问题。
我猜这里是因为你没有发布你收到的错误,问题出在self.photo
。