在Django中,使用参数'(1,)'和关键字参数'{}'在'note'中找不到错误

时间:2013-10-21 06:19:03

标签: django django-urls

我的网址:

url(r'^(?P<task_id>\d+)/note/$', login_required(NoteView.as_view()), name='note'),

成功保存笔记后,我想使用task_id重定向到笔记网址,因此我使用reverse函数:

return HttpResponseRedirect(reverse('website.views.note', args=(task_id,)))

我的网址如下:

http://localhost:8000/1/note/

我认为反向仅适用于http://localhost:8000/note/1/但不适用于http://localhost:8000/1/note/。我怎样才能使它发挥作用?

3 个答案:

答案 0 :(得分:0)

尝试将关键字args传递为

return HttpResponseRedirect(reverse('website.views.note', kwargs={'task_id':task_id,}))

答案 1 :(得分:0)

您已为网址指定了一个特定名称 - 'note'。这意味着您无法将其反转为'website.views.note',但仅限'note'

reverse('note', kwargs={'task_id':task_id})

答案 2 :(得分:0)

写:

return HttpResponseRedirect(reverse('note', kwargs={'task_id':task_id,}))

网址名称应该是唯一的。在这里,“注意”应该是唯一的。只需在HttpResponseRedirect中传递“note”。