2015-09-08 81 views
5

我不明白为什么Django无法在我的应用程序中找到请求的网址。Django无法找到网址格式

以下是错误代码,我得到:

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

这里是我的sms.urls.py文件:

from django.conf.urls import url 

from sms import views 

urlpatterns = [ 
    url(r'^success/$', views.success, name='success'), 
    url(r'^$', views.index, name='index') 
] 

这里是应用urls.py文件:

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


urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', include('sms.urls')), 
] 

我找不到我正在犯错误。有任何想法吗?

回答

7

这个问题是这个URL模式中的美元符号。

url(r'^$', include('sms.urls')), 

插入符号^字符串的开始,$结束匹配,如果该字符串,所以^$只匹配索引网址/美元相匹配。

您应该删除美元并将其更改为:

url(r'^', include('sms.urls')), 
+0

谢谢你给了命名空间!知道这是非常简单的事情,我没有得到:) – phouse512

1

,你应该以基本URL尝试,像

这里是应用程序urls.py文件:

from django.conf.urls import include, url 
from django.contrib import admin 
urlpatterns = [ 
url(r'^admin/', include(admin.site.urls)), 
url(r'^sms', include('sms.urls')), //the 'sms' is your defined name 
] 

这是我的sms.urls.py文件:

from django.conf.urls import url 

from sms import views 

urlpatterns = [ 
    url(r'^success/$', views.success, name='success'), 
    url(r'^$', views.index, name='index') 
] 

你应该尝试在你的观点一样访问您的网址的作为

短信/ //在视图 短信/成功访问THT指数函数//在视图访问成功函数

,或者您可以使用在模板的形式的行动标签的标签调用的URL,

{%URL“短信:指数或成功”%} //指数,成功是在sms.urls