如何改变django中的URI?

时间:2011-05-14 20:25:02

标签: python django

http://packages.python.org/django_simple_feedback/ref/request-response.html表示绝对URI是使用此请求中可用的服务器变量构建的。那么,如何使用HttpRequest.build_absolute_uri更改URI。

我的情况是: /foo/bar/2/是具有相应视图的网址load_view(request)在呈现模板之前,我想通过在请求中附加新的绝对URI来更改URI。所以,我的templte会在网址/foo/上呈现。

1 个答案:

答案 0 :(得分:1)

您可以使用django.shortcuts.redirect重定向到其他位置:

def load_view(request):
    return redirect('/foo/')

当然,您仍然需要为该网址设置相应的视图,因为这会导致用户的浏览器重定向到/foo/。如果您想在不刷新页面的情况下更改网址,可以立即使用HTML5执行此操作:

window.history.pushState('','foo','/foo/');