从第二个视图重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从第二个视图重定向相关的知识,希望对你有一定的参考价值。

这里有一个真正的问题。我在后端有2个视图,确实需要从第二个视图重定向

像这样的观点:

def first_function(request):
    """ Here is some stuff """
    second_function(request)
    return render(request, 'first.html', context)

def second_function(request)
    """ Check here something """
    if ok:
        return
    else: 
        return redirect('/') # this redirect does not work
答案

您的视图second_function会返回回复。只要视图不引发异常,无论响应的状态代码如何,您的first_function都将继续。

如果要返回重定向,则必须将结果分配给状态代码,然后必须将second_function的结果分配给变量,然后检查状态代码。

def first_function(request):
    """ Here is some stuff """
    response = second_function(request)
    if response.status_code == '302':
        return response
    return render(request, 'first.html', context)

这不是构建代码的好方法,但我无法建议替代方法,因为您的代码显示了您真正想要做的事情。

以上是关于从第二个视图重定向的主要内容,如果未能解决你的问题,请参考以下文章

从第二个片段访问时 ViewModel 数据丢失状态

如何从第二个标签窗口打开第一个标签窗口的网址页面?

结果的转发和重定向

springmvc怎么重定向,从一个controller跳到另一个controller

Swift 5. 从第二个表格视图单元格(第二个 indexpath.row )显示数组

从第二个视图返回到一个视图时 UIButton 不可点击