django将'/'重定向到平面页面

时间:2010-12-15 23:43:51

标签: python django routing

我正在尝试将'/'重定向到'/first-page',其中'/first-page'是一个带有slug first-page的内置平面页面

我正在寻找像

这样的东西
(r'^/', 'redirect_to', {'url': '/flat-page'}),

3 个答案:

答案 0 :(得分:3)

使用Django的通用视图

urlpatterns = patterns('django.views.generic.simple',
    ('^$', 'redirect_to', {'url': '/first-page'}),
)
urlpatterns += patterns('myProject.myApp',
    ...
)

urlpatterns = patterns('',
    ('^$', 'django.views.generic.simple.redirect_to', {'url': '/first-page'}),
    ...
)

有关详细信息和示例,请参阅the docs

观看您的网址匹配,您拥有的网址将匹配以/开头的所有内容。像example.com//anything,请注意双斜线。

答案 1 :(得分:1)

在网址的视图中,您可以使用HttpResponseRedirect

from django.http import HttpResponseRedirect

def rootview(request):
    return HttpResponseRedirect('/flat-page')

答案 2 :(得分:1)

使用HttpResponsePermanentRedirect

from django.http import HttpResponsePermanentRedirect
# ...
(r'^$', 'redirect_to', lambda request: HttpResponsePermanentRedirect('/flat-page')),