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