Skip to main content
 首页 » 编程设计

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

2024年10月25日38haluo1

我的模板中有一个表单,当提交表单时,我试图重定向回表单最初所在的 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 

我该怎么做?

请您参考如下方法:

reverse 需要一个 View 名称。

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

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

或者决定您当前尝试重定向的 View 总是重定向到同一个地方,即。

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

第三个选项是使用 resolve() .