Django 如何使游戏在通过facebook玩时使用https,在从其他域玩时使用http
我们的用户直接通过我们的域名(cnamed到herokuapp.com)玩Django游戏。我们通过http请求我们的资产 我们想将我们的游戏添加到facebook,这需要使用https。希罗库能处理这件事 使用https请求:我们的游戏在facebook上运行,但通过我们的cnamed域访问时无法加载资产 我们可以让我们的游戏在通过facebook玩时使用https,在我们的域名玩时使用http吗?我们必须向设置.py添加什么代码 我们已经在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中尝试了这段代码,但没有成功
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将其作为答案发布,以便我可以接受。