我有一個包含一些應用程序的django項目。主urls.py包含我啓用的應用程序中的urls.py,並且都很好。在django項目中映射主要URL的最佳方式是什麼?
現在我想配置該項目,以便當您轉到http://testsite/時,您將獲得當您轉至http://testsite/app/時所獲得的相同頁面。
我可以通過複製項目urls.py中的應用程序urls.py中的相應行來做到這一點,但這種感覺很髒。
任何人都知道更好的方法?
我有一個包含一些應用程序的django項目。主urls.py包含我啓用的應用程序中的urls.py,並且都很好。在django項目中映射主要URL的最佳方式是什麼?
現在我想配置該項目,以便當您轉到http://testsite/時,您將獲得當您轉至http://testsite/app/時所獲得的相同頁面。
我可以通過複製項目urls.py中的應用程序urls.py中的相應行來做到這一點,但這種感覺很髒。
任何人都知道更好的方法?
建立一個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
一個重定向是要走的路,因爲你不希望爲同多個標準網址資源(浪費谷歌果汁)。理想情況下,您應儘可能靠近堆棧邊緣進行重定向,以節省服務器資源。所以你可以做一個Django的redirect_to urlconf條目,但是你最好用Apache或者nginx或者insert-your-webserver--這裏重定向,所以最初的請求根本就不會碰到Django。