金字塔:获取应用程序绝对URL

时间:2011-06-14 18:15:47

标签: python pylons pyramid

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

2 个答案:

答案 0 :(得分:4)

Pyramid(与大多数WSGI应用程序一样)可以安装在任何域和url前缀上。因此,应用程序本身实际上并不知道它负责的URL,除非您将其特定地编入应用程序(例如,INI设置)。

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

答案 1 :(得分:3)

我只是得到了我的索引路线的完整路线,在我的情况下是'家':

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

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