5

有没有办法在 main() 函数中获取金字塔绝对应用程序 url?我想将它添加到全局设置中,因此可以在任何地方(在模板和 js 文件中)调用它。在金字塔文档中有一些函数会有所帮助,但它们都需要一个请求对象并且必须在视图中调用。谢谢。

4

2 回答 2

4

Pyramid(像大多数 WSGI 应用程序一样)可以安装在任何域和 url 前缀上。因此,应用程序本身实际上并不知道它负责哪些 url,除非您专门将其编码到您的应用程序中(例如,一个 INI 设置)。

这就是 request.application_url 存在的原因......因为 application_url 可能因每个请求而不同,具体取决于您有多少不同的域和 url 前缀将请求代理到您的应用程序。

于 2011-06-15T15:55:47.173 回答
3

我刚刚获得索引路线的完整路线,在我的情况下为“家”:

我在我的主包装器 mako 模板中设置了它,以便我的所有 JS 调用都可以引用它来为 ajax 调用/等构建正确的路径

    <script type="text/javascript" charset="utf-8">
        <%
            app_url = request.route_url('home').rstrip('/')
        %>
        APP_URL = '${app_url}';
    </script>
于 2011-06-14T18:59:47.683 回答