我有一个包含一些应用程序的 django 项目。主要的 urls.py 包括我启用的应用程序中的 urls.py,一切都很好。
现在我想配置项目,以便当您访问http://testsite/时,您将获得与访问http://testsite/app/时相同的页面。
我可以通过在项目 urls.py 中复制应用程序 urls.py 中的相应行来做到这一点,但这感觉很脏。
有人知道更好的方法吗?
我有一个包含一些应用程序的 django 项目。主要的 urls.py 包括我启用的应用程序中的 urls.py,一切都很好。
现在我想配置项目,以便当您访问http://testsite/时,您将获得与访问http://testsite/app/时相同的页面。
我可以通过在项目 urls.py 中复制应用程序 urls.py 中的相应行来做到这一点,但这感觉很脏。
有人知道更好的方法吗?
设置从第一个 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')),
# ...
)
高温高压
重定向是可行的方法,因为您不希望同一资源有多个规范 URL(浪费 Google 果汁)。理想情况下,您应该尽可能靠近堆栈边缘进行重定向,以节省服务器资源。因此,您可以执行 Django redirect_to urlconf 条目,但最好使用 Apache 或 nginx 或 insert-your-webserver-here 重定向,因此初始请求根本不必访问 Django。