Django将'/'重定向到静态页面

2 投票
3 回答
744 浏览
提问于 2025-04-16 08:36

我想把 '/' 这个地址重定向到 '/first-page',而 '/first-page' 是一个内置的简单页面,它的标识是 first-page。

我在寻找类似这样的东西:

(r'^/', 'redirect_to', {'url': '/flat-page'}),

3 个回答

1

使用 HttpResponsePermanentRedirect

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

在处理这个网址的视图里,你可以使用 HttpResponseRedirect

from django.http import HttpResponseRedirect

def rootview(request):
    return HttpResponseRedirect('/flat-page')
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'}),
    ...
)

查看 文档,获取更多信息和示例。

注意你的URL匹配规则,你现在的规则会匹配任何以/开头的内容。比如像example.com//anything,注意这里有两个斜杠。

撰写回答