使用reverse()将变量传递给Django通用视图模板

时间:2009-05-18 21:37:10

标签: django django-templates reverse

我有这样的urlpatterns:

urlpatterns = patterns('',
...
    (r'^(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', info_dict, 'poll_detail'),
...

我的html页面模板包含:

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}

我的观看代码包含:

    return HttpResponseRedirect(reverse('poll_detail',args=(p.id,)))

我的问题是,在reverse()调用中,我将'error_message'变量值放在哪里?

道歉,如果这是一个愚蠢的问题,但我试图搜索文档。

1 个答案:

答案 0 :(得分:1)

reverse()将视图名称转换为网址。它不会调用视图。此外,它只能在URL中设置参数;它无法设置模板标签。

您可以做的是使error_message成为poll_detail视图的参数。这样,您可以使用reverse()将其值传递给视图。