2009-01-09 47 views
3

我有一个包含一些应用程序的django项目。主urls.py包含我启用的应用程序中的urls.py,并且都很好。在django项目中映射主要URL的最佳方式是什么?

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

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

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

回答

6

建立一个redirect_to的从第一个URL到第二,即:

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

一个重定向是要走的路,因为你不希望为同多个标准网址资源(浪费谷歌果汁)。理想情况下,您应尽可能靠近堆栈边缘进行重定向,以节省服务器资源。所以你可以做一个Django的redirect_to urlconf条目,但是你最好用Apache或者nginx或者insert-your-webserver--这里重定向,所以最初的请求根本就不会碰到Django。

相关问题