我在Django中使用重定向from django.shortcuts import redirect
我想要的是让用户在被重定向之前显示Javascript警报消息。
这是我到目前为止所得到的:
response = redirect("someUrl")
response.write('<script>alert(\'You must remove an item before adding another\');</script>')
response['location'] += "?active=" + "all"
return response
重定向有效,但Javascript没有。我也试过
response = HttpResponse('<script>alert(\'You must remove an item before adding another\');</script>')
return response
这会触发警报窗口,但我不确定如何添加与上述方法相同的重定向。
答案 0 :(得分:2)
你在前端和后端之间感到困惑。当用户请求此视图时,服务器(通过Django的HTTPResponseRedirect
)发送302
redirect HTTP response,告知浏览器重定向到其他页面。这与正常的200
响应(即正常的Django响应对象,而不是重定向)不同,您可以在其中包含javascript警报。
您需要在用户返回重定向响应之前在您最初加载的视图上显示javascript。
答案 1 :(得分:1)
您可以使用js appproach
window.location
url = 'someUrl'
resp_body = '<script>alert("You must remove an item before adding another");\
window.location="%s"</script>' % url
return HttpResponse(resp_body)