Flask MVC (Unit-3) Projeye Başlangıç

Modelleri oluşturduktan sonra projenin çalıştırılması için gerekli olan run.py (ismi farklı da olabilir) dosyasına bakalım.

#run.py
from app import app

if __name__ == '__main__':
    app.run(host='localhost', port=800, debug=True)

Burada app __init__.py’de bulunan app = Flask(__name__)’den geliyor. Projenin bir flask projesi olduğunu buradan belirtiyoruz. app.run() ile proje çalışacağı host ve port bilgisini belirtiyoruz debug=true sayesinde bir exception durumunda bize hata satırını gösterecektir. Production’da bunu false yapabiliriz.

#__init__.py
from flask import Flask,render_template
from flask_sqlalchemy import SQLAlchemy
from config import configuration
app = Flask(__name__)
app.config.from_object(__name__)
app.config.update(configuration.__dict__)
db = SQLAlchemy(app)


from app.models import author
from app.models import book

from app.modules.manage.authors import mdl as au
from app.modules.manage.books import mdl as bk

from app.modules.main import mdl as mn

app.register_blueprint(au)
app.register_blueprint(bk)
app.register_blueprint(mn)

db.create_all()

Burası projemizin ana dosyası oluyor. Modüllerin birbirleri ile bağlantısını blueprint ile bu ana proje dosyası üzerinden yapıyoruz. Yeri gelmişken Flask Blueprint kavramından bahsedelim.

Flask Blueprint : Python çalışma düzeni olarak verilen bir .py dosyasını alıp derler ve size bir çıktı üretir şeklindedir. Bu düzen bu proje gibi birden fazla dosya içeren bir proje için çok da uygun değildir. Blueprint bu tip dağıtık dosya yapılarının birbirleri ile bağlantı kurmasını sağlayan bir yapı diyebiliriz.

app.register_blueprint(au) ile au olarak alias verdiğimiz author modulunu app = Flask() içersine register etmiş oluyoruz. Bu sayede app içinde register olan tüm modüller birbirleri ile bağlantı iletişim kurabilir hale gelmiş oldu. db.create_all ile db = SQLAlchemy(db) üzerinden proje genelinde database işlemlerini yapabilir hale geliyoruz.

SQLAlchemy : Python için geliştirilmiş en popüler veritabanı yönetim ve ORM aracıdır. Bu sayede veritabanı CRUD ve migration işlemlerini yapabilirsiniz.

One thought on “Flask MVC (Unit-3) Projeye Başlangıç

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.