在django项目中映射主网址的最佳方法是什么?

时间:2009-01-09 10:42:20

标签: django django-urls

我有一个包含一些应用程序的django项目。主要的urls.py包含我启用的应用中的urls.py,一切都很好。

现在我想要配置项目,以便当您转到http://testsite/时,您将获得转到http://testsite/app/时获得的相同页面。

我可以通过在项目urls.py中的应用程序urls.py中复制相应的行来实现此目的,但这感觉很脏。

任何人都知道更好的方法吗?

2 个答案:

答案 0 :(得分:6)

设置从第一个网址到第二个网址的redirect_to,即:

from django.conf.urls.defaults import patterns, url, include
from django.views.generic.simple import redirect_to

    urlpatterns = patterns('',
        # Example:
        url(r'^$', redirect_to, {'url':'/app/'}),
        url(r'^app/', include('app.urls')),
        # ...
    )

HTH

答案 1 :(得分:1)

重定向是最佳选择,因为您不希望同一资源使用多个规范网址(浪费Google果汁)。理想情况下,您应该尽可能靠近堆栈边缘进行重定向,以节省服务器资源。所以你可以做一个Django redirect_to urlconf条目,但是你最好使用Apache或者nginx或者插入你的webserver-here重定向,所以最初的请求根本不需要点击Django。