2009-01-09 48 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。

相關問題