Django在同一页面上安装多个应用程序

时间:2012-07-12 11:09:35

标签: python django url

我是Django的新手,绝对没有经验。

无论如何,我已经在本地网络上创建了自己的网站,并使用Django 1.4成功创建了一个应用程序。但是,当我尝试启动另一个应用程序时,它似乎只出现在我的网站上(在我看来)的特定环境下。

每当我的urls.py文件看起来像这样:

    urlpatterns = patterns('',
        url(r'^$', 'myapp1.views.home1', name='home1'),
        url(r'^$', 'myapp2.views.home2', name='home2'),

第一个应用程序显示在页面上,但当我切换它们时,第二个应用程序显示在页面上:

    urlpatterns = patterns('',
        url(r'^$', 'myapp2.views.home2', name='home2'),
        url(r'^$', 'myapp1.views.home1', name='home1'),

正如我所说,我不是很有经验,所以如果你需要我提供更多信息,请告诉我。

1 个答案:

答案 0 :(得分:3)

Django通过将URL模式与您在views.py中编写的某些代码进行匹配来工作。

在您的情况下,您将相同的模式(^$)指向两个视图方法。 Django会在找到匹配项时停止,因此当您切换模式时,它将始终与列表中的第一个条目匹配。

如果您将模式更改为:

urlpatterns = patterns('',
        url(r'^/two$', 'myapp2.views.home2', name='home2'),
        url(r'^$', 'myapp1.views.home1', name='home1'),

现在,当您输入http://localhost:8000/two时,home2将被执行,当您输入http://localhost:8000/ home1时,将会执行。