主网址文件:
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.
这是怎么回事?
答案 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'),