在Django中使用URL反向中的request.META.get('HTTP_REFERER')

时间:2014-08-18 08:51:20

标签: python django django-forms

我的模板中有一个表单,当表单提交时,我正在尝试重定向回原始表单的URL以及一些参数

以下是我正在做的事情

if request.method == 'POST':
    ...
    url = reverse(request.META.get('HTTP_REFERER', '/'), kwargs={'groups': groups, 'product': product})
    return HttpResponseRedirect(url)

这给了我一个错误

u'http' is not a registered namespace

我该怎么做?

1 个答案:

答案 0 :(得分:2)

reverse需要一个视图名称。

除非你用某种形式的字符串插值构建它们,否则要么这样做并丢失大部分参数

url = "{0}/{1}".format(request.META.get('HTTP_REFERER', '/'), your_args)

return HttpResponseRedirect(url)

或者确定您当前尝试重定向的视图始终重定向到同一个地方,即。

url = reverse('form_landing_view', kwargs={'groups':groups, 'product': product})

第三种选择是使用resolve()