Bu bölümde uygulamaya kalıcı veri depolama özelliği kazandırmak için veritabanı entegrasyonu ele alınacak. Flask-SQLAlchemy ile ORM kullanımı ve Flask-Migrate ile veritabanı şeması değişikliklerinin yönetimi öğrenilecek.
Flask, veritabanı desteğini yerleşik olarak sunmaz; bu bilinçli bir tasarım tercihidir. Bu eğitimde ilişkisel veritabanı kullanılacak.
İki eklenti kullanılacak:
(venv) $ pip install flask-sqlalchemy
(venv) $ pip install flask-migrate
Geliştirme ortamında dosya tabanlı ve sunucu gerektirmeyen SQLite kullanılacak.
config.py Dosyasını Güncelleimport os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or 'you-will-never-guess'
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \\
'sqlite:///' + os.path.join(basedir, 'app.db')
app/__init__.py Dosyasını Güncellefrom flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
from app import routes, models
db — veritabanı nesnesini temsil eder.migrate — migrasyon motorunu temsil eder.models modülü en alta import edilir (henüz oluşturulmadı).