Django找不到URL模式

2024-05-18 08:34:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白为什么Django在我的应用程序中找不到请求的URL。

这是我得到的错误代码:

 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')),
]

我找不到我犯的错误。有什么想法吗?


Tags: djangoinfromimport应用程序urlincludeadmin
2条回答

你应该尝试使用基本url,比如

以下是application 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')
]

你应该尝试访问你的url,就像在你的视图中一样

sms///用于访问视图中的tht index函数 sms/success//,用于在视图中访问success函数

或者可以使用模板中表单动作标记中的标签来调用url

{%url'sms:index或success'%}//index,success是sms.url中给定的名称空间

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

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

插入符号^匹配字符串的开头,如果字符串匹配,则美元$匹配结尾,因此^$仅匹配索引URL /

你应该把美元换成:

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

相关问题 更多 >