我得到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/$']
Run Code Online (Sandbox Code Playgroud)
对于一个相当简单的观点,我无法弄清楚这里出了什么问题.你能救我吗?
url.py:
url(r'^verfahren/vorlage/(?P<pk>[\d+])/add/$',
views.verfahrenvorlage,
name='verfahrenvorlage',
),
Run Code Online (Sandbox Code Playgroud)
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})
Run Code Online (Sandbox Code Playgroud)
来自template.py:
<tr>
<td>
<a href="{% url 'verfahrensverzeichnis:verfahrenvorlage' verfahrensverzeichnis.customer.pk %}">Verfahren hinzufügen</a>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
问题在于你的正则表达式:
(?P<pk>[\d+])
Run Code Online (Sandbox Code Playgroud)
包括+在方括号中意味着您匹配"一位数或加号",而不是"多于一位".
它应该是
(?P<pk>[\d]+)
Run Code Online (Sandbox Code Playgroud)
或者,在这种情况下,您可以删除方括号.
(?P<pk>\d+)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |