Вы неправильно используете Ajax. Идея состоит в том, чтобы не возвращать что-либо, а вместо этого передавать данные на вызов, называемый функцией обратного вызова, которая обрабатывает данные.
То есть:
function handleData( responseData ) {
// Do what you want with the data
console.log(responseData);
}
$.ajax({
url: "hi.php",
...
success: function ( data, status, XHR ) {
handleData(data);
}
});
Возвращение чего-либо в обработчике ничего не сделает. Вы должны либо передавать данные, либо делать то, что хотите, непосредственно внутри функции успеха.
В __init__.py
ваш код имеет строку from app.models import User
. Проблема в том, что app.models
имеет from . import db
. Это циклический импорт: __init__
пытается импортировать User
, который пытается импортировать db
, который не определен до тех пор, пока __init__
не попытается импортировать User
. Чтобы решить эту проблему, переместите свой локальный импорт приложений под определениями всех глобальных расширений.
В настоящее время ваш код выглядит примерно так:
from flask_sqlalchemy import SQLAlchemy
from app.models import User
db = SQLAlchemy()
Вам нужно изменить его на :
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
from app.models import User