2010-09-04 3 views
2

В браузере я получаю: Request URL: http://xxxxxx:8000/person/test/Django URL не соответствует даже если он должен

Используя URLconf, определенный в person.urls, Django попробовал эти шаблоны URL, в следующем порядке:
^person/ ^$
^person/ ^person/(?P<slug>[-\w]+)/$
^admin/
текущий URL, person/test/, не соответствует ни одному из них.

В питона оболочки я получаю:
import re
url = 'person/test/'
pattern = re.compile(r'^person/(?P<slug>[-\w]+)/$'
re.match(pattern,url)
<_sre.SRE_Match object at 0xb7716860>

Так что, очевидно, должно соответствовать регулярному выражению. Использование только URL-адреса/(^ $ regexp) действительно работает.

Я, конечно же, попытался перезапустить сервер разработки. Что здесь может быть не так?

ответ

4

Это не соответствует против r'^person/(?P<slug>[-\w]+)/$', страница 404 показывает, что это соответствие с r'^person/person/(?P<slug>[-\w]+)/$'

Вы, вероятно, соответствует ^person/ в urls.py, затем импортировать другой urls.py и положить «лицо» там также. Удалите его со второго urls.py. После импорта вторичный urls.py должен соответствовать только остальному URL, а не всему URL-адресу.

+0

О боже. Я чувствую себя глупо. Благодаря! – JaHei

Смежные вопросы