找不到应用的网页

时间:2015-03-06 23:48:01

标签: django

主网址文件:

from django.conf.urls import patterns, include, url
from django.contrib import admin

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

My app url file:

from django.conf.urls import patterns, url
from mainapp import views

urlpatterns = patterns('',
    url(r'^$', views.index),
    url(r'^url1$', views.url1),
    url(r'^url2$', views.url2)
)

当我转到“/”时,它会显示我的应用中的views.index罚款。但是,对于url1和url2,它说“找不到页面(404)”。

Using the URLconf defined in myproject.urls, Django tried these URL patterns, in this order:
^$
^admin/
The current URL, url1, didn't match any of these.

这是怎么回事?

2 个答案:

答案 0 :(得分:1)

您正在匹配'^$',这是一个空字符串,因此不会调用您的其他网址。

尝试:

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

请注意,我更改了顺序。这样myapp永远不会覆盖其他更具体的网址,例如admin

答案 1 :(得分:0)

R' ^ URL1 $'

^表示从这里开始; $意味着在这里结束。

所以,它是一个空字符串。在你之间放置任何东西是没有意义的^ ... $。

如何尝试:r' ^ $',' views.url1'),