我在访问以下网址时遇到错误找不到网页(404):
http://localhost:8000/blog/blogroll/
我正在使用Python 3.4& Django 1.7。
这是我的项目网址:
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'weblog.views.home', name='home'),
url(r'^blog/', include('blog.urls', namespace='blog')),
url(r'^admin/', include(admin.site.urls)),
)
这是我的应用程序“博客”的网址:
来自django.conf.urls导入模式,网址 来自博客导入视图
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^(?P<slug>\S+)$', views.detail, name='detail'),
url(r'^blogroll/$', views.blogroll, name='blogroll'),
#url(r'^(?P<question_id>\d+)/results/$', views.results, name ='results'),
#url(r'^(?P<question_id>\d+)/vote/$', views.vote, name='vote'),
)
除此之外,以下网址正在运行:
http://localhost:8000/blog/
我无法找出错误在哪里。请指教。
提前感谢你!
答案 0 :(得分:2)
将url(r'^blogroll/$', views.blogroll, name='blogroll'),
向上移动一行。
/blog/anything
规则有机会匹配之前, (?P<slug>...
符合您的blogroll
规则。
您还应该在捕获组外部使用slug
结束/
正则表达式,因为django倾向于喜欢以斜杠结尾的网址,如果使用{{1},您的变量将会捕获/
}}