应用程序URL到项目URL

时间:2013-03-01 08:43:06

标签: django django-urls

我有一个django项目正在制作中,目前仅包含一个应用程序。假设我的域名为myproject.com,我的应用名为myapp。我希望索引为myproject.com/而不是myproject.com/myapp/

这就是myproject/urls.py的样子:

urlpatterns = patterns('',
url(r'^myapp/', include('myapp.urls')),
...

myapp.urls.py

urlpatterns = patterns('myapp.views',
url(r'^$', 'about'),
...

如何在myproject.com下提供该应用?或者是你应该通过重新指导做的事情,例如:在你的.htaccess?

1 个答案:

答案 0 :(得分:5)

您必须将urls.py重新定义为此

urlpatterns = patterns('',
    url(r'^$', include('myapp.urls')),
...

这将捕获对'/'。

的所有调用

这将启用“root”中的所有网址。 当然,你必须写下你的myapp.urls,以便它们有意义 放入网络浏览器。

<强>更新

所以在聊天之后:这就是我认为你想要纯代码的东西

在您的根urls.py

url(r'', include('myapp.urls')),
你的myapp.urls中的

urlpatterns = patterns('myapp.views',
    url(r'^$', 'first_view'),
    url(r'^evilCellphones/$', 'another_view'),
)

这里实际发生的是你将myapp.urls包括在内 命名空间,但由于Django仍然加载它,它将包括你新定义的URL。 从那里你可以重新定义你的所有网址,并让他们服从相同的名称 空间为“myproject”。

This part of the docs are explains it really well