【发布时间】:2011-06-28 14:06:34
【问题描述】:
我似乎遇到了 Caught NoReverseMatch 错误。我不太确定是什么导致了问题。查看完整的错误。
Caught NoReverseMatch while rendering: Reverse for 'mmc.views.edit_note' with arguments '(1L, '')' and keyword arguments '{}' not found.
在我的 get_client 页面上。我有一个指向编辑注释页面的链接。我假设问题可能在我的模板中。我认为note.pk 是问题所在。
<a href="{% url mmc.views.edit_notes client.pk note.pk %}"> Edit Note</a>
这里还有一些可以提供帮助的更多信息。 urls.py
(r'^clients/(?P<client_id>\d+)/$', views.get_client),
(r'^clients/notes/(?P<client_id>\d+)(?P<note_id>\d+)$', views.edit_notes),
views.py
@login_required
def edit_notes(request, client_id = 0, note_id = 0):
client = None
note = None
try:
client = models.Client.objects.get(pk = client_id)
note = models.Note.objects.get(pk = note_id)
except:
return HttpResponseNotFound()
if request.method == 'POST':
form = forms.NoteForm(request.POST, instance=note)
if form.is_valid():
note = form.save(commit=False)
note.user = request.user
note.client = client
note.save(True)
request.user.message_set.create(message = "Note is successfully added.")
return HttpResponse("<script language=\"javascript\" type=\"text/javascript\">window.opener.location = window.opener.location; window.close();</script>")
else:
form = forms.NoteForm(instance=note)
return render_to_response('note_form.html', {'form':form, 'client':client, 'note':note}, context_instance = RequestContext(request))
*编辑:*似乎已经纠正了大部分这里是我所做的一些更改。
模板
{% for note in notes %}
<a href="{% url mmc.views.edit_note client.pk note.pk %}" onclick="return showAddAnotherPopup(this);"> Edit Note</a>
{% endfor%}
urls.py
(r'^clients/notes/(?P<client_id>\d+)/(?P<note_id>\d+)/$', views.edit_note)
现在唯一的问题是它显示了指向单个客户的每个编辑表单注释的所有链接。我只想要最新笔记的链接,并且只想要最新笔记。有没有可能的方法?
【问题讨论】:
标签: python django templates parameters django-urls