Мгновенное завершение скрипта в функции, вызываемой в представлении - PullRequest
1 голос
/ 06 сентября 2011

Я не знаю, как объяснить в одном предложении, что мне нужно, но давайте рассмотрим пример на PHP.

function sth () {exit ();}

эхо «вы можете видеть это»;

sth ();

эхо «это не будет показано»;

?>

Другими словами, в PHP я могу определить функцию, в которой выполнение скрипта может быть немедленно остановлено с помощью exit ();

А как насчет Django?

def sth ():

# what to write here so that script will be stopped?

pass

def some_view (запрос):

print "хорошо, это будет видно либо в журнале ошибок, либоконсоль. "

sth ()

печать" это не будет напечатано "

1 Ответ

1 голос
/ 06 сентября 2011

Вы можете вернуться из вида раньше:

def some_view(request):
    # ...
    return direct_to_template(...)
    # this code is unreachable

Чтобы достичь этого с помощью вложенного вызова, вам нужно вызвать исключение и обработать его из представления. Но не делайте этого, в таких вещах нет абсолютно никакой необходимости. Если у вас есть недоступный код, его нужно просто полностью удалить, вместо того, чтобы пытаться придумывать обходные пути.

...