如何在Django中点击通知URL后重定向用户?

时间:2014-06-18 09:02:41

标签: python django redirect notifications

我正在寻找一些方向。 我有一个Django项目,有相当多的意见。我需要做的是在外部应用程序完成任务后将给定用户重定向到成功URL。

到目前为止我所做的是在urls.py

中设置一个带有相应条目的视图
# views.py
def notifyURL(request):
    return HttpResponseRedirect('/success_page/')

notifyURL被我使用简单GET请求编写的外部应用程序命中。然而,似乎Django不会重定向浏览器而是调用(无头)应用程序。

我应该如何做这项工作?

提前致谢。

1 个答案:

答案 0 :(得分:1)

通过'重定向'

,您实际上无法提出要求

您只能在用户发出请求的位置重定向用户。如果用户提出了请求并收到了回复,则您以后无法重定向'用户响应稍后在后端发生的其他事件。

你需要的是后端Django应用程序通知前端(即Javascript应用程序)发生了一个事件并且用户应该通过javascript转发到新URL的方式。

有两种方法:

  1. '轮询' - javascript定期联系后端的地方,例如setInterval计时器通过ajax请求状态URL。这可能是最容易用Django实现的。
  2. '推' - 后端直接联系前端...这基本上意味着使用WebSockets,这对于Django(或任何WSGI python Web框架)来说并不那么容易。尽管可以https://django-omnibus.readthedocs.org/en/latest/
  3. 查看此信息