NoReverseMatch с перенаправлением в Django - PullRequest
0 голосов
/ 09 февраля 2012

Я очень новичок в Python и Django.Я пытаюсь перенаправить на вторую функцию просмотра.Вот моя конфигурация URL:

urlpatterns = patterns('dept.pv.verif.views',
    (r'^apps/dept/pv/verif/$', 'index', {}, 'index'),
    (r'^apps/dept/pv/verif/display$', 'display', {}, 'display'),
    (r'^apps/dept/pv/verif/display/(?P<action>\w{1})/(?P<id>\w{8})/$', 'display', {}, 'display'),
    url(r'^apps/dept/pv/verif/display/(?P<action>\w{1})/(?P<id>\w{8})/$', 'display', name='display'),)

А вот мои функции просмотра:

def index(request):
    context = {}
    visit_switch = request.GET.get('visit_switch')
    if not visit_switch:
        id_form = Enter_ID()
    else:
        id_form = Enter_ID(request.GET)
        if id_form.is_valid():
            return redirect('display', action='R', id='test')
    context['id_form'] = id_form
    return render_to_response('index.html', {'context':context})

и вторая:

def display(request, action, id):
# ...
    return render_to_response('index.html')

Я получаю NoReverseMatchошибка.Я не понимаю, почему строка перенаправления не совпадает с одним из моих URL.Буду признателен за любую помощь, которую вы можете предложить.

1 Ответ

1 голос
/ 09 февраля 2012

Эта группа регулярных выражений:

(?P<id>\w{8})

Будет соответствовать только 8 символам. Если вы на самом деле передаете id='test', это будет вашей проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...