2013-08-26 5 views
1

У меня есть это регулярное выражение в моем urls.py для моего приложения для блога, и я хотел бы знать, почему он не работает.Почему это регулярное выражение django не работает?

url(r'^/tag/(?P<tag_text>\w+)/$', views.tag, name='tag'), 

и я определил это в views.py блога

def tag(request,tag_text): 

и это в urls.py приложения

url(r'^blog/', include('blog.urls')), 

Я попытался локальный/блог/теги/спорт , но я все еще получаю: Текущий URL-адрес, блог/тег/спорт не совпадают ни с одним из них. Я что-то не так?

+0

вы не должны иметь что-то после/спорта, для \ ш + вы писали на регулярное выражение? – PepperoniPizza

+0

@PepperoniPizza '' '\ w +' '' supossed для соответствия имени тега (в данном случае '' 'sport'''). В любом случае, по теме: Я думаю, что ваш шаблон пытается сопоставить дополнительный '' '' '' ''. У вас есть конечный '' '' '' перед вашим включением и ведущий '' '' '' 'в' '' tag''' url; попробуйте удалить один из них. – asermax

+0

@asermax Спасибо! Да, дополнительная проблема была проблемой. – Algorithmatic

ответ

2

Ваш шаблон пытается сопоставить дополнительные /, так как ваш URL-адрес включает в себя трейлинг-косую черту, а ваш URL-адрес tag пытается сопоставить ведущую косую черту.

Вы должны удалить либо один, чтобы заставить его работать:

# tag url in blog/urls.py 
url(r'^tag/(?P<tag_text>\w+)/$', views.tag, name='tag'), 

# include in project/urls.py 
url(r'^blog/', include('blog.urls')), 
Смежные вопросы