Делал ли какие-то интеграции с базой данной на Flask
Python
Junior
Без компании
Делал ли какие-то интеграции с базой данной на Flask
Ответы
Да, Flask часто используют для работы с базами данных через ORM или напрямую. Наиболее популярные интеграции:
- **Flask-SQLAlchemy** (ORM для работы с реляционными БД):
```
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
```
- **Flask-MongoEngine** (для MongoDB):
```
from flask_mongoengine import MongoEngine
app = Flask(__name__)
app.config['MONGODB_SETTINGS'] = {'db': 'myapp'}
db = MongoEngine(app)
class User(db.Document):
name = db.StringField()
```
- **Raw SQL через psycopg2/MySQLdb**:
```
import psycopg2
from flask import g
def get_db():
if 'db' not in g:
g.db = psycopg2.connect("dbname=test")
return g.db
@app.teardown_appcontext
def close_db(e=None):
db = g.pop('db', None)
if db is not None:
db.close()
```
Для миграций часто используют Flask-Migrate (Alembic). Все эти инструменты хорошо интегрируются с Flask и позволяют эффективно работать с данными.