Django 1.4 еще одна обратная ошибка NoReverseMatch в URL-адресе с параметрами

Вот еще одна обратная ошибка.

URL-адреса работают, как и ожидалось. У меня есть основные функции, и я могу без проблем перемещаться по сайту. Только когда я пытаюсь изменить URL-адрес, возникает ошибка. Если я закомментирую вызов реверса, все будет работать как положено, иначе я получаю сообщение об ошибке.

Реверс для 'app_view_list' с аргументами '()' и аргументами ключевого слова '{'id': 'idvalue', 'title': 'titlevalue'}' не найден.

нореверсематч

Я разрабатываю Django 1.4 с сервером разработки.

Вот код

urls.py

urlpatterns = patterns('',
    url(r'^list/$', 'app.views.browse_list', name='app_browse_lists'),
    url(r'^list/(?P<id>[0-9]*)/(?P<title>[0-9a-zA-Z-]*)/$', 'app.views.list', name='app_view_list'),
)

Функция, на которую я нацелен

views.py

def list(request, id, title):
    print reverse ('app_view_list', kwargs={'id': 'idvalue', 'title': 'titlevalue'})
    ...

person OpCodeOmega    schedule 02.06.2012    source источник


Ответы (1)


Вы действительно проходите idvalue? Это не совпадет, так как группа id ожидает цифру.

В любом случае, ваше регулярное выражение будет лучше написано:

r'^list/(?P<id>\d+)/(?P<title>[\d\s]+/$
person Daniel Roseman    schedule 02.06.2012