【问题标题】:How to force HTTPS in a Django project using Cloudinary?如何使用 Cloudinary 在 Django 项目中强制使用 HTTPS?
【发布时间】:2018-07-08 14:10:33
【问题描述】:

我在我的 Django 项目中使用 Cloudinary 来上传和存储我的图像。

类似这样的:

class MyModel(models.Model):
    logo = CloudinaryField('Logo', blank=True, null=True)

在我的序列化程序中,如果我调用类似:

mymodel = MyModel.objects.get(pk=1)
return mymodel.logo.url

返回的是一个 cloudinary url,但仅限于 http。我该如何解决?如何获取 https?

【问题讨论】:

标签: django cloudinary


【解决方案1】:

Cloudinary 响应包含 url (HTTP) 和 secure_url (HTTPS)。

请尝试:

return mymodel.logo.secure_url

代替

return mymodel.logo.url

【讨论】:

    【解决方案2】:

    在设置中设置secure

    cloudinary.config(cloud_name = "", api_key = "", api_secret = "", secure = True)
    

    【讨论】:

      【解决方案3】:

      对于任何遇到secure_url 错误的人,修改url_options 字典对我有用:

      mymodel = MyModel.objects.get(pk=1)
      # Adding 'secure' to url_options
      # Cloudinary source code seems to look for this key when building urls
      mymodel.logo.url_options.update({'secure':True})
      return mymodel.logo.url
      

      【讨论】:

        猜你喜欢
        • 2019-01-23
        • 2012-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-20
        • 2016-05-14
        • 2021-08-20
        • 2015-02-27
        相关资源
        最近更新 更多