石墨烯Django图像场获得绝对路径

问题描述 投票:-1回答:1

我的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?阅读互联网上的文档,源代码或资源,我无法找到解决问题的方法。

python django graphene-python
1个回答
1
投票

有没有办法从WSGIRequest创建Http请求..?

WSGIRequest继承自django.http.HttpRequest所以,你应该能够使用Django请求的所有“公共”实用函数。

所以有一个WSGIRequest不是你真正的问题。如果info.context真的是WSGIRequest,你应该可以:

 info.context.build_absolute_uri(self.photo)

没有任何问题。

My guess

我猜这里是因为你没有发布你收到的错误,问题出在self.photo

© www.soinside.com 2019 - 2024. All rights reserved.