3

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

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

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

有人知道更好的方法吗?

4

2 回答 2

6

设置从第一个 url 到第二个的 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')),
        # ...
    )

高温高压

于 2009-01-09T10:59:04.663 回答
1

重定向是可行的方法,因为您不希望同一资源有多个规范 URL(浪费 Google 果汁)。理想情况下,您应该尽可能靠近堆栈边缘进行重定向,以节省服务器资源。因此,您可以执行 Django redirect_to urlconf 条目,但最好使用 Apache 或 nginx 或 insert-your-webserver-here 重定向,因此初始请求根本不必访问 Django。

于 2009-01-10T17:38:08.593 回答