2015-01-05 4 views
0

я с ошибкой Страница не найдена (404) при обращении к следующему адресу:Django URL Match не работает

http://localhost:8000/blog/blogroll/ 

Я использую Python 3.4 & Django 1.7.

Вот мои URLS для проекта:

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

и это мой URL для приложения "блог":

из django.conf.urls импортировать модели, URL из представлений блог импорта

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

Помимо этого следующий URL работает:

http://localhost:8000/blog/ 

Я не могу найти, где ошибка. Пожалуйста, порекомендуйте.

Благодарим вас в Advance!

ответ

2

Move url(r'^blogroll/$', views.blogroll, name='blogroll'), более одной строкой.

/blog/anything соответствует вашему правилу (?P<slug>... перед тем, как ваше правило blogroll всегда имеет возможность совпадения.

Вы также должны закончить slug регулярное выражение с / вне группы захвата, как Джанго, как правило, нравится URL, оканчивающийся косые черты, и переменные будет поймать / при использовании \S+