【问题标题】:Django redirect from a view to another for further processingDjango 从一个视图重定向到另一个视图以进行进一步处理
【发布时间】:2014-09-12 20:12:09
【问题描述】:

我正在尝试实现这样的目标:

def AppAView(request)
     myData = Process(request)
     return myRedirect(url/to/AppBView, myData) # I want to pass myData to AppBView for 
                                                # further process

def AppBView(request)
     myData = Process(request)
     FurtherProcess(myData)
     return render(request, template[myData])

AppAViewAppBView 可能位于不同的服务器上。在没有将 myData 作为 url 的一部分显式传递的情况下,在 Django 中执行此操作的最佳做​​法或至少是一种良好/安全的方法是什么?

谢谢

【问题讨论】:

  • 试试stackoverflow.com/questions/1463489/…(看第二个投票多的答案..不是打勾的答案)
  • 该答案使用 HttpResponseRedirect(url) 将用户重定向到 url,但我想将请求重定向到另一台服务器以进行进一步处理。

标签: django redirect parameter-passing


【解决方案1】:

它可能会为此使用Sessions

  1. 在 AppAView 中,将 mydata 保存到 request.session['mydata']
  2. 重定向到 AppBView
  3. 在 AppBView 中检查 request.session['mydata'] 是否存在,如果存在则进一步处理。

然后,具有挑战性的部分将是跨服务器会话存储和访问。我找到了this gist,它有一个共享会话存储的可能解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-02
    • 2020-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多