пирамида: получить приложение абсолютный URL - PullRequest
5 голосов
/ 14 июня 2011

Есть ли способ получить абсолютный URL-адрес приложения в функции main ()?Я хочу добавить его в глобальные настройки, чтобы его можно было вызывать везде (в шаблонах и js-файлах).В пирамидальных документах есть некоторые функции, которые могут помочь, но все они нуждаются в объекте запроса и должны вызывать представлениеСпасибо.

Ответы [ 2 ]

4 голосов
/ 15 июня 2011

Пирамиду (как и большинство приложений WSGI) можно подключить к любому домену и префиксу URL.Таким образом, само приложение на самом деле не знает, за какие URL оно отвечает, если только вы не закодируете это в свое приложение (например, в настройке INI).

Вот почему существует request.application_url ... потому чтоapplication_url может отличаться для запроса в зависимости от того, сколько у вас разных доменов и префиксов URL, которые передают запросы вашему приложению.

3 голосов
/ 14 июня 2011

Я просто получаю полный маршрут для моего индексного маршрута, в моем случае 'home':

Я установил это в своем шаблоне mako основного упаковщика, чтобы все мои вызовы JS могли ссылаться на него для создания правильногопуть для вызовов ajax / etc

    <script type="text/javascript" charset="utf-8">
        <%
            app_url = request.route_url('home').rstrip('/')
        %>
        APP_URL = '${app_url}';
    </script>
...