我收到NoReverseMatch错误:
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>
答案 0 :(得分:5)
问题在于你的正则表达式:
(?P<pk>[\d+])
在方括号中加入+
表示您匹配“一位数或加号”,而不是“多位数”。
应该是
(?P<pk>[\d]+)
或者,在这种情况下,您可以删除方括号。
(?P<pk>\d+)