在Django Web应用程序中访问models.py中的用户uri方案

时间:2016-03-05 21:18:46

标签: python django python-2.7 django-models

在我的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应用程序接受httphttps协议,我想将相关协议附加到此方法返回的url。

1 个答案:

答案 0 :(得分:1)

我认为这里正确的解决方案是使用协议相对URL,如rfc3986中所述:

return '%s/%s/%s' % ('//example.blob.core.windows.net', 'mypictures', name)