Django URL 匹配不工作

Django URL Match Is Not Working

我在访问以下 url:

时遇到错误 找不到页面 (404)
http://localhost:8000/blog/blogroll/

我正在使用 Python 3.4 和 Django 1.7。

这是我的项目 URL:

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

urlpatterns = patterns('',
    # Examples:
    # url(r'^

这是我的 url 应用 "blog":

从 django.conf.urls 导入模式,url 从博客导入视图

urlpatterns = patterns('',
       url(r'^

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, 'weblog.views.home', name='home'), url(r'^blog/', include('blog.urls', namespace='blog')), url(r'^admin/', include(admin.site.urls)), )

这是我的 url 应用 "blog":

从 django.conf.urls 导入模式,url 从博客导入视图

urlpatterns = patterns('',
       url(r'^$', views.index, name='index'),
       url(r'^(?P\S+)$', views.detail, name='detail'),
       url(r'^blogroll/$', views.blogroll, name='blogroll'),
       #url(r'^(?P\d+)/results/$', views.results, name ='results'),
       #url(r'^(?P\d+)/vote/$', views.vote, name='vote'),
       )

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, views.index, name='index'), url(r'^(?P<slug>\S+)

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, 'weblog.views.home', name='home'), url(r'^blog/', include('blog.urls', namespace='blog')), url(r'^admin/', include(admin.site.urls)), )

这是我的 url 应用 "blog":

从 django.conf.urls 导入模式,url 从博客导入视图

urlpatterns = patterns('',
       url(r'^$', views.index, name='index'),
       url(r'^(?P\S+)$', views.detail, name='detail'),
       url(r'^blogroll/$', views.blogroll, name='blogroll'),
       #url(r'^(?P\d+)/results/$', views.results, name ='results'),
       #url(r'^(?P\d+)/vote/$', views.vote, name='vote'),
       )

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, views.detail, name='detail'), url(r'^blogroll/

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, 'weblog.views.home', name='home'), url(r'^blog/', include('blog.urls', namespace='blog')), url(r'^admin/', include(admin.site.urls)), )

这是我的 url 应用 "blog":

从 django.conf.urls 导入模式,url 从博客导入视图

urlpatterns = patterns('',
       url(r'^$', views.index, name='index'),
       url(r'^(?P\S+)$', views.detail, name='detail'),
       url(r'^blogroll/$', views.blogroll, name='blogroll'),
       #url(r'^(?P\d+)/results/$', views.results, name ='results'),
       #url(r'^(?P\d+)/vote/$', views.vote, name='vote'),
       )

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, views.blogroll, name='blogroll'), #url(r'^(?P<question_id>\d+)/results/

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, 'weblog.views.home', name='home'), url(r'^blog/', include('blog.urls', namespace='blog')), url(r'^admin/', include(admin.site.urls)), )

这是我的 url 应用 "blog":

从 django.conf.urls 导入模式,url 从博客导入视图

urlpatterns = patterns('',
       url(r'^$', views.index, name='index'),
       url(r'^(?P\S+)$', views.detail, name='detail'),
       url(r'^blogroll/$', views.blogroll, name='blogroll'),
       #url(r'^(?P\d+)/results/$', views.results, name ='results'),
       #url(r'^(?P\d+)/vote/$', views.vote, name='vote'),
       )

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, views.results, name ='results'), #url(r'^(?P<question_id>\d+)/vote/

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, 'weblog.views.home', name='home'), url(r'^blog/', include('blog.urls', namespace='blog')), url(r'^admin/', include(admin.site.urls)), )

这是我的 url 应用 "blog":

从 django.conf.urls 导入模式,url 从博客导入视图

urlpatterns = patterns('',
       url(r'^$', views.index, name='index'),
       url(r'^(?P\S+)$', views.detail, name='detail'),
       url(r'^blogroll/$', views.blogroll, name='blogroll'),
       #url(r'^(?P\d+)/results/$', views.results, name ='results'),
       #url(r'^(?P\d+)/vote/$', views.vote, name='vote'),
       )

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, views.vote, name='vote'), )

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

, 'weblog.views.home', name='home'), url(r'^blog/', include('blog.urls', namespace='blog')), url(r'^admin/', include(admin.site.urls)), )

这是我的 url 应用 "blog":

从 django.conf.urls 导入模式,url 从博客导入视图

urlpatterns = patterns('',
       url(r'^$', views.index, name='index'),
       url(r'^(?P\S+)$', views.detail, name='detail'),
       url(r'^blogroll/$', views.blogroll, name='blogroll'),
       #url(r'^(?P\d+)/results/$', views.results, name ='results'),
       #url(r'^(?P\d+)/vote/$', views.vote, name='vote'),
       )

除此之外,以下 url 有效:

http://localhost:8000/blog/

我找不到错误在哪里。请指教

提前致谢!

上移 url(r'^blogroll/$', views.blogroll, name='blogroll'), 一行。

在您的 blogroll 规则有机会匹配之前,

/blog/anything 正在匹配您的 (?P<slug>... 规则。

你还应该在捕获组之外以 / 结束 slug 正则表达式,因为 django 倾向于喜欢以斜线结尾的 URL,如果使用 \S+