在我的Django应用的models.py
中,我编写了一个名为Storage
的自定义OverwriteStorage
类。它的目的是从我使用的第三方存储桶(Azure)上传和获取静态对象。
除此之外,此自定义存储类还定义了一个名为url
的方法,其中包含:
def url(self, name):
"""
Returns the URL where the contents of the file referenced by name can
be accessed.
"""
url = '%s/%s/%s' % ('http://example.blob.core.windows.net','mypictures', name)
return url
此方法实质上返回Azure存储blob上上载的静态对象的位置。
我的问题是,是否有办法访问访问存储类的用户的http协议方案?我的Django Web应用程序接受http
和https
协议,我想将相关协议附加到此方法返回的url。
答案 0 :(得分:1)
我认为这里正确的解决方案是使用协议相对URL,如rfc3986中所述:
return '%s/%s/%s' % ('//example.blob.core.windows.net', 'mypictures', name)