Как получить текущее доменное имя с помощью 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'