我有一个包含一些应用程序的django项目。主要的urls.py包含我启用的应用中的urls.py,一切都很好。
现在我想要配置项目,以便当您转到http://testsite/时,您将获得转到http://testsite/app/时获得的相同页面。
我可以通过在项目urls.py中的应用程序urls.py中复制相应的行来实现此目的,但这感觉很脏。
任何人都知道更好的方法吗?
答案 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。