Django 如何使游戏在通过facebook玩时使用https,在从其他域玩时使用http

Django 如何使游戏在通过facebook玩时使用https,在从其他域玩时使用http,django,ssl,heroku,https,facebook-canvas,Django,Ssl,Heroku,Https,Facebook Canvas,我们的用户直接通过我们的域名(cnamed到herokuapp.com)玩Django游戏。我们通过http请求我们的资产 我们想将我们的游戏添加到facebook,这需要使用https。希罗库能处理这件事 使用https请求:我们的游戏在facebook上运行,但通过我们的cnamed域访问时无法加载资产 我们可以让我们的游戏在通过facebook玩时使用https,在我们的域名玩时使用http吗?我们必须向设置.py添加什么代码 我们已经在settings.py中尝试了这段代码,但没有成功

我们的用户直接通过我们的域名(cnamed到herokuapp.com)玩Django游戏。我们通过http请求我们的资产

我们想将我们的游戏添加到facebook,这需要使用https。希罗库能处理这件事

使用https请求:我们的游戏在facebook上运行,但通过我们的cnamed域访问时无法加载资产

我们可以让我们的游戏在通过facebook玩时使用https,在我们的域名玩时使用http吗?我们必须向设置.py添加什么代码

我们已经在
settings.py中尝试了这段代码,但没有成功

选项1:

import socket
if socket.gethostname().startswith('app'):
  LIVEHOST = True
else:
  LIVEHOST = False

if LIVEHOST:
  STATIC_URL = "https://d******1.cloudfront.net/"
else:
  STATIC_URL = "http://d******1.cloudfront.net/"
import socket
if socket.gethostname().startswith('edge'):
  LIVEHOST = True
else:
  LIVEHOST = False

if LIVEHOST:
  STATIC_URL = "https://d******1.cloudfront.net/"
else:
  STATIC_URL = "http://d******1.cloudfront.net/"
选项2:

import socket
if socket.gethostname().startswith('app'):
  LIVEHOST = True
else:
  LIVEHOST = False

if LIVEHOST:
  STATIC_URL = "https://d******1.cloudfront.net/"
else:
  STATIC_URL = "http://d******1.cloudfront.net/"
import socket
if socket.gethostname().startswith('edge'):
  LIVEHOST = True
else:
  LIVEHOST = False

if LIVEHOST:
  STATIC_URL = "https://d******1.cloudfront.net/"
else:
  STATIC_URL = "http://d******1.cloudfront.net/"
你可以用它来避免担心使用协议的痛苦

因此,设置如下所示:

STATIC_URL = "//d******1.cloudfront.net/"

您可以安全地删除代码片段中的所有计算逻辑。

您是否可以不使用设置作为
/d*******1.cloudfront.net/
?karthik,注释大师作为答案。是的,使用协议相关URL。不知道我以前怎么没试过这个简单的东西@karthikr将其作为答案发布,以便我可以接受。