Роут всегда должен что то возвращать, а у тебя в случае ошибки он ничего не возвращает. Более того, из-за того, что ты решил просто "замолчать" ошибку, ты не знаешь почему у тебя случается эта ошибка, а мог бы сделать вот так:
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)