Python 渲染时捕获到NoReverseMatch
呈现时捕获到NoReverseMatch:找不到参数为“()”且关键字参数为“{student\u pk:******}”的“accounts.views.new\u fn”的反向。 (星号实际上是数字,我刚刚修改过) 不管怎么说,我不太明白为什么这不起作用。在谷歌搜索这个错误似乎是因为没有正确定义URL,然而,我不明白这是怎么回事!一如既往,我们非常感谢您的帮助 从url.pyPython 渲染时捕获到NoReverseMatch,python,django,Python,Django,呈现时捕获到NoReverseMatch:找不到参数为“()”且关键字参数为“{student\u pk:******}”的“accounts.views.new\u fn”的反向。 (星号实际上是数字,我刚刚修改过) 不管怎么说,我不太明白为什么这不起作用。在谷歌搜索这个错误似乎是因为没有正确定义URL,然而,我不明白这是怎么回事!一如既往,我们非常感谢您的帮助 从url.py (r'^lockers/(?P<course_pk>\w+)/$', 'lockers'), (r'
(r'^lockers/(?P<course_pk>\w+)/$', 'lockers'),
(r'^lockers/(?P<course_pk>\w+)/assignlocker/$', 'lockerassign'),
从locker_花名册.html
{%for student in students%}
<tr>
<td>{{student}}</td>
<td style="text-align: right">
<a href="{% url accounts.views.lockerassign student_pk=student.pk%}">Assign Locker</a>
</td>
</tr>
{%endfor%}
{%用于学生%}
{{学生}
{%endfor%}
注意:google chrome将错误标记在学生的迭代中。要使用
{%url%}
标记,您需要将name
属性添加到您的url中,以便Django能够反转它们:
(r'^lockers/(?P<course_pk>\w+)/$', name='lockers'),
(r'^lockers/(?P<course_pk>\w+)/assignlocker/$', name='lockerassign'),
(r'^lockers/(?P\w+/$),name='lockers'),
(r“^lockers/(?P\w+)/assignlocker/$”,name='lockerasign'),
要测试您是否正确地反转了它们,请使用:。在urlconf中为URL指定了一个
名称
属性,您需要使用该名称而不是函数路径来反转它
{% url lockerassign student_pk=student.pk %}
(我从您最初没有使用引号的事实推测,您使用的是Django
{% url lockerassign student_pk=student.pk %}