Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 渲染时捕获到NoReverseMatch_Python_Django - Fatal编程技术网

Python 渲染时捕获到NoReverseMatch

Python 渲染时捕获到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'

呈现时捕获到NoReverseMatch:找不到参数为“()”且关键字参数为“{student\u pk:******}”的“accounts.views.new\u fn”的反向。 (星号实际上是数字,我刚刚修改过)

不管怎么说,我不太明白为什么这不起作用。在谷歌搜索这个错误似乎是因为没有正确定义URL,然而,我不明白这是怎么回事!一如既往,我们非常感谢您的帮助

从url.py

 (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 %}