2014-02-07 2 views
0

Наши пользователи играют в нашу игру Django напрямую через наш домен, названный herokuapp.com. Мы запрашиваем наши активы через http.Как использовать игру https при игре через facebook и http при игре из другого домена

Мы хотим добавить нашу игру в facebook, что требует использования https. Хероку может справиться с этим.

Использование https-запросов: наша игра работает на facebook, но при загрузке ресурсов через наш домен cnamed не загружается.

Можем ли мы использовать нашу игру для использования https при игре через facebook и http при игре в нашем домене? Какой код нужно добавить к 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/" 

Вариант 2:

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/" 
+0

Можете ли вы не просто использовать настройки как '// d ****** 1.cloudfront.net /'? – karthikr

+0

karthik, мастер комментариев как ответы. да использовать относительные URL-адреса протокола. –

+0

Не знаю, как я раньше не пробовал эту простую вещь. @karthikr опубликуйте его как ответ, чтобы я мог его принять. – Sascuash

ответ

1

Вы можете использовать protocol relative urls чтобы избавиться от боли, беспокоящей о том, как использовать протокол.

Так настройки будут выглядеть следующим образом:

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

и вы можете безопасно избавиться от всей логики вычислений в вашем фрагменте кода.