3

我在引导模式中有一个表格。当用户提交此表单时,它会向 url(/submitform) 发送一个发布请求,/submitform 的视图会对数据进行处理(重新排列)并对另一个 url 执行“requests.post”。现在取决于第二个帖子请求成功或失败。我想在 HttpResponseRedirect url 上显示警报。

这是代码:

payload= {"createRequest":
                  { "users": request.POST["newuser"],
                    "email": request.POST["newemail"]
                    }
                  }
headers =  {'content-type' : 'application/json'}
r = requests.post('http://localhost:8000/api/v1.0/newuser',
                          data=json.dumps(payload),
                          headers=headers, verify=False)

return HttpResponseRedirect("/dashboard/all_users", {"alert":r.content})

并在 all_users 的视图中检查警报是否存在(因为 all_users 已从其他几个不属于警报的地方调用),如果存在警报,则将其从其 render_to_respons 发送到 html。

我无法更改 all_users url 格式,它已在很多地方使用。让我知道是否需要更多说明。

我尝试过的事情:

return HttpResponseRedirect(reverse("/dashboard/all_users"), kwargs={"alert":r.content})

错误:

未找到带有参数“()”和关键字参数“{}”的“/dashboard/all_users”的反向操作。

4

1 回答 1

3

在您的模板中,您可以执行以下操作:

<script type="text/javascript">
 $(function(){
   {% if alert %}
      //whatever conditions and js code
      alert('{{alert}}');
   {% endif %}
 });
</script>

在视图中,使用redirect而不是HttpResponseRedirect

return redirect(reverse("/dashboard/all_users"), {"alert":r.content})
于 2013-07-02T19:03:51.767 回答