Возвращаемое значение должно быть одного из нескольких типов: basestring
(string
или unicode
), tuple
(представляющий аргументы, переданные конструктору объекта Response
), Response
сам объект или, в случае неудачи, вызываемая WSGI функция.
Вы возвращаете bool
.Flask предполагает, что, поскольку это не объект basestring
, tuple
или Response
, он должен вызываться WSGI.Впоследствии при обработке ответа он пытается вызвать () ваше bool
возвращаемое значение, что приводит к исключению.Flask ловит полученную ошибку TypeError.Когда Flask находится в режиме отладки, он передает его обратно на простой веб-сервер Werkzeug, который запускает встроенный отладчик.Однако, когда Flask находится в рабочем режиме, он просто выдает внутреннюю ошибку сервера - например, код 500 - без дополнительной информации.
Итак, чтобы устранить проблему, убедитесь, что вы делаете этовместо:
return str('user' in session)