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

Ето още една обратна грешка.

URL адресите работят според очакванията. Имам набелязана основната функционалност и мога да кликам из сайта без никакъв проблем. Само когато се опитам да обърна URL адреса, се извежда грешка. Ако коментирам обратното извикване, всичко работи според очакванията, в противен случай получавам грешка.

Обратното за „app_view_list“ с аргументи „()“ и ключови аргументи „{'id': 'idvalue', 'title': 'titlevalue'}' не са намерени.

NoReverseMatch

Разработвам на 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