2015-12-16 3 views
4

Я получаю NoReverseMatch Ошибка:NoReverseMatch для простого Джанго View

NoReverseMatch at /verfahrensverzeichnis/verzeichnis/320/ 

Reverse for 'verfahrenvorlage' with arguments '(320,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['verfahrensverzeichnis/verfahren/vorlage/(?P<pk>[\\d+])/add/$'] 

Для довольно простой точки зрения, и я не могу понять, что пошло не так здесь. Не могли бы вы мне помочь?

url.py:

url(r'^verfahren/vorlage/(?P<pk>[\d+])/add/$', 
    views.verfahrenvorlage, 
    name='verfahrenvorlage', 
    ), 

view.py:

def verfahrenvorlage(request, pk): 

vorlagen = ProcedurTemplate.objects.all() 
kunde_pk = pk 

return render(request, 'verfahrensverzeichnis/vorlagen_auswahl.html', {'vorlagen': vorlagen, 'kunden_pk': kunde_pk}) 

из template.py:

   <tr> 
        <td> 
         <a href="{% url 'verfahrensverzeichnis:verfahrenvorlage' verfahrensverzeichnis.customer.pk %}">Verfahren hinzufügen</a> 
        </td> 
       </tr> 
+2

ли 'г '^ Verfahren/Vorlage// добавить/$ (P \ d +?)'' Работа .. – Sayse

ответ

5

Проблема заключается в вашем регулярном выражении:

(?P<pk>[\d+]) 

В том числе + в квадратных скобках означает, что вы соответствуете знаку «одна цифра или плюс» вместо «более одной цифры».

Это должно быть

(?P<pk>[\d]+) 

Или, в этом случае вы можете оставить квадратные скобки.

(?P<pk>\d+) 
+1

Right - Это сработало. Я отлаживаю его около часа ... Спасибо! –

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