问题描述
|
有什么方法可以在main()函数中获取金字塔绝对应用程序URL?
我想将其添加到全局设置中,因此可以在每个位置(在模板和js文件中)调用它。
在金字塔文档中,有些功能会有所帮助,但是所有功能都需要一个请求对象,并且必须在视图中调用。
谢谢。
解决方法
金字塔(像大多数WSGI应用程序一样)可以安装在任何域和url前缀上。因此,除非您将代码专门编码到应用程序中(例如INI设置),否则应用程序本身实际上并不知道它负责什么网址。
这就是为什么request.application_url存在...的原因,因为每个请求的application_url可能会有所不同,具体取决于您拥有多少个域和url前缀,这些域和URL前缀会将请求代理到您的应用程序。
, 我只得到索引路由的完整路由,在本例中为“'home \'”:
我在主包装器mako模板中设置了此代码,以便我所有的JS调用都可以引用它来为ajax调用/ etc建立正确的路径
<script type=\"text/javascript\" charset=\"utf-8\">
<%
app_url = request.route_url(\'home\').rstrip(\'/\')
%>
APP_URL = \'${app_url}\';
</script>