TypeError: The view function did not return a valid response.The function either returned None or ended without a return statement как решить в Flask?
Роут всегда должен что то возвращать, а у тебя в случае ошибки он ничего не возвращает. Более того, из-за того, что ты решил просто "замолчать" ошибку, ты не знаешь почему у тебя случается эта ошибка, а мог бы сделать вот так:
import logging

@app.route('/create-poem/', methods=['POST', 'GET'])
def create():
    if request.method == 'POST':
        ...
        try:
            ...
        except Exception:
            logging.exception('')
            return ''
    else:
        ...

Тогда бы ты увидел ошибку, в которой говорится
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: ivan
Тогда бы ты мог открыть свою БД и увидеть, что в ней действительно нет нужной тебе таблицы, а нет её потому, что ты её не создал. А вот что бы создать таблицу, нужно :
db.create_all()
app.run(debug=True)
Написано же, что функция ничего не вернула. Логично, что для исправления проблемы нужно вернуть что-то.
А именно добавить return в блоке try ... except