Как выйти из вложенных функций
Я делаю сервис чат-бота с помощью Django.
А мой код вызывает функцию в другой функции, чтобы получить ответ.
Мой код выглядит следующим образом:
def chat_view(request):
user_input = request.GET.get('user_input')
answer = flow(user_input)
if len(answer) > 1:
# Give the user a choice
return HttpResponse(answer)
def flow(user_input):
data = get_data(user_input)
# if len(data) > 1:
# data_list = data
# return data_list
answer = get_answer(data)
return answer
def get_data(user_input):
data = query_db_with_user_input(user_input)
if len(data) > 1:
# At this point, I want to give the user a choice to choose one data.
# But to do that, I can pass it to the user after exiting the flow function.
# So, I need to put ``if len(data) >1: something`` in the flow function and chat_view function.
data_list = data
return data_list
return data
def get_answer(data):
answer = f'Data is {data}'
return answer
Когда данные соответствуют определенному условию, я хочу вывести все вложенные функции и дать ответ пользователю.
Однако, если я пишу это как комментарий, код становится слишком грязным и сложным для сопровождения.
Неважно, придется ли мне вырывать и исправлять кодовую базу.
Имеет ли это какое-либо отношение к паттернам проектирования?
Пожалуйста, дайте мне решение или совет.