У меня есть Docker Приложение для контейнеров с Flask и Django контейнерами. Возможно разделить базу данных между Django контейнером и Flask контейнером?
django: &django
...
depends_on:
- postgres
flask:
...
ports:
- "5090:5090"
...
- postgres
links:
- postgres
postgres:
build:
...
env_file:
- ./.envs/.local/.postgres
Модели находятся в Django приложении. Итак, мне нужно выполнить вход в приложение Flask, используя базу данных Postgres. Проблема в том, что я хочу использовать только соединение с базой данных, мне не нужно делать модели в Flask.
Я использовал метод Sqlalchemy:
if form.validate_on_submit():
query = session.query(User)
login = User.query.filter(username=form.username.data).first()
if login is not None:
print(login)
return redirect(url_for('index'))
return render_template('login.html', form=form)
И я попробовал с методом Panda:
if form.validate_on_submit():
sql = "SELECT * from users WHERE username = '{0}'".format(form.username.data)
login = pd.read_sql_query(sql,SQLALCHEMY_DATABASE_URI)
if login is not None:
print(login)
return redirect(url_for('index'))
Но ошибка одинакова в обоих случаях, мне нужно сделать отношение, так что это миграция, в Flask.
**sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "users"**
Это моя база данных.py:
...
SQLALCHEMY_DATABASE_URI = 'postgres://%s:%s@%s:%s/%s' % (user, pwd, host, port, db)
SQLALCHEMY_TRACK_MODIFICATIONS = os.environ.get('SQLALCHEMY_TRACK_MODIFICATIONS')
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
def init_db():
...