URL Джанго не совпадает, хотя должен - PullRequest
2 голосов
/ 05 сентября 2010

В браузере я получаю: URL запроса: http://xxxxxx:8000/person/test/

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

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

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

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

1 Ответ

5 голосов
/ 05 сентября 2010

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

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

...