如何为 Pylons 控制器生成绝对 URL?
我需要生成一个 URL,用作我的 pylons 应用程序中外部系统的回调。这要求我提供 pylons-app-relative 控制器路径(由 url
方法生成:
>>> relative_url = url(controller='my_cont', action='callback', id=generated_id)
>>> print relative_url
/my_cont/callback/1234
但是,我需要整个 URL;主机名、相对路径(在 mod_wsgi 的情况下,路径可能包括服务器配置的其他部分)&c.
我怎样才能得到它?
I need to generate a URL for use as a callback in an external system in my pylons application. This requires me to provide both the pylons-app-relative controller path (as generated by the url
method:
>>> relative_url = url(controller='my_cont', action='callback', id=generated_id)
>>> print relative_url
/my_cont/callback/1234
However, I need the whole URL; hostname, relative paths (in case of mod_wsgi, where the path might include other parts from server configuration) &c.
How can I get that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该要求 url() 生成合格的 URL,如下所示:
You should ask url() to generate qualified URL like this:
你可以使用routes函数url_for,它接受一个host参数:
当然,这只有在host与请求的主机相同的情况下才有效。
You can use the routes function url_for, which takes a parameter for host:
Of course, this only works if the host is the same as the request's.