【发布时间】:2014-10-14 08:02:43
【问题描述】:
渲染时捕获 NoReverseMatch:未找到带有参数 '()' 和关键字参数 '{'student_pk': *****}' 的“accounts.views.new_fn”的反向。 (星号实际上是数字,我只是修改了它们)。
无论如何,我不太明白为什么这不起作用。在谷歌搜索这个错误时,这似乎来自没有正确定义 url,但是,我看不出这是怎么回事!像往常一样,感谢您的帮助!
来自 urls.py
(r'^lockers/(?P<course_pk>\w+)/$', 'lockers'),
(r'^lockers/(?P<course_pk>\w+)/assignlocker/$', 'lockerassign'),
来自views.py
@user_is_valid
def lockers(request, course_pk):
print("Lockers - A")
course = get_object_or_404(Course, pk=course_pk)
students = Student.objects.filter(--redacted, but this does work)
print("Render to Response - B")
return render_to_response("accounts/locker_roster.html", {'students':students, 'lockers':orderedlockers}, context_instance=RequestContext(request))
@user_is_valid
def lockerassign(request,student_pk):
if request.method == "POST":
print("Method is Post - C")
pass
else:
print("Render form - D")
lockers = Locker.objects.raw(sql query, which does in fact work)
student = Student.object.get(pk=student_pk)
print("Render to Response - E")
return render_to_response("accounts/locker_assign.html",{'student':student , 'lockers':lockers} , context_instance=RequestContext(request))
来自 locker_roster.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%}
注意:谷歌浏览器将错误标记在学生迭代中。
【问题讨论】: