Как получить текущее доменное имя с помощью Python/GAE?

Текущий url

http://myapp.appspot.com/something/<user-id>

или

http://127.0.0.1:8080/something/<user-id>

Как в моем коде python я могу получить http://myapp.appspot.com/ или http://127.0.0.1:8080/? Это необходимо для генерации динамических ссылок, например, http://myapp.appspot.com/somethingelse.

self.request.path возвращает весь путь.

Ответ 2

Я думаю, вы хотите app_identity.get_default_version_hostname().

Если приложение обслуживается из пользовательского домена, может потребоваться получить весь компонент имени хоста. Вы можете сделать это, используя app_identity.get_default_version_hostname().

Этот код: logging.info(app_identity.get_default_version_hostname())

выводит localhost:8080 на сервер разработки.

Ответ 3

Если self.request.path возвращает весь путь, вы не можете просто сделать:

import urlparse

def get_domain(url):
    return urlparse.urlparse(url).netloc
>>> get_domain("http://myapp.appspot.com/something/")
'myapp.appspot.com'