Значение из формы одного представления в другое представление - PullRequest
0 голосов
/ 09 июля 2010

Могу ли я выполнить в django такую ​​операцию, чтобы в одном представлении я назначал значение return из другого представления, который отображает свой собственный шаблон формы и на основе этого возвращает значение?(Другими словами, если в этой форме, отображаемой другой функцией, пользователь нажимает ok, я возвращаю 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 голосов
/ 09 июля 2010

Как упоминалось выше, ваша первая функция не имеет смысла; но я думаю, что ваша основная идея заключается в том, что вы можете просто вызвать другую функцию с помощью request и посмотреть на возвращаемое значение; но вы не должны вызывать ее как функцию представления, если она не возвращает объект HttpResponse, это просто какая-то вспомогательная функция. Я думаю, что вы хотели сделать:

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

Но, возможно, вам следует поместить вторую функцию в модуль, подобный utils, поскольку это скорее вспомогательная функция, чем представление!

...