从一个视图的表单到另一个视图的值

时间:2010-07-09 03:06:53

标签: django return-value redirect django-views

我可以在django这样的操作中执行,在一个视图中我从其他视图中分配一个返回值,它呈现自己的表单模板并基于它返回值吗? (换句话说,如果在其他函数用户呈现的此表单上单击“确定”,则返回true,如果用户单击“取消”,则返回false)示例代码:

主要功能:

def my_func(request):
    result = False
    result = redirect('some_url')

    if result:
        redirect somewhere
    else:
        redirect somewhere else

使用'some_url'从父级调用的子函数:

def some_url_func(request):
     if request.POST.get("action") == "ok":   
        return True
     elif if request.POST.get("action") == "cancel":
        return False    

形式:

<form action="some_url_func" method="post">
    <input type="submit" class="submit" name="submit" action="ok" value="Ok" />
    <input type="submit" class="submit" name="submit" action="cancel" value="Cancel" />
</form>

所以基本上可以通过一个视图查看某种形式然后返回到这个视图吗?

1 个答案:

答案 0 :(得分:0)

如上所述,你的第一个功能毫无意义;但我认为你的主要想法是你可以用request调用另一个函数并查看返回的值;但如果它不返回HttpResponse对象,你不应该把它称为视图函数,它只是某种辅助函数。我想你想做的是:

def my_func(request):
    result = some_url_func(request)
    if result:
        redirect somewhere
    else:
        redirect somewhere else

但也许你应该将你的第二个函数放在像utils这样的模块中,因为它更像是一个辅助函数而不是一个视图!