Django ve Flask ile Veritabanı Bağlantısı Nasıl Kurulur?

Django ve Flask ile Veritabanı Bağlantısı Nasıl Kurulur?

Django ve Flask ile veritabanı bağlantısı nasıl kurulur? Bu makalede, adım adım yönergeleri takip ederek veritabanına bağlanmanın kolay bir yöntemini öğrenebilirsiniz Django ve Flask projelerinizde güvenilir bir veritabanı bağlantısı kurmak için bu kılavuzu kaçırmayın!

Django ve Flask ile Veritabanı Bağlantısı Nasıl Kurulur?

Flask ve Django, web uygulamalarının yaratılmasında sıkça kullanılan framework'lerdir. Bu yazımızda, bu iki framework üzerinde veritabanı bağlantısı kurmanın en kolay ve en hızlı yöntemlerini ele alacağız. Flask ve Django'da SQLite, PostgreSQL ve MySQL veritabanlarına nasıl bağlanacağınızı öğrenirken, aynı zamanda settings.py dosyasını nasıl değiştireceğinizi ve veritabanları oluşturma adımlarını nasıl takip edeceğinizi de göreceksiniz.

Bu yazı, hem Flask hem de Django framework'lerini kullanan yazılımcılar için oldukça faydalı olacaktır. Veri tabanı bağlantısı kurma adımlarının yanı sıra, kod örnekleri de paylaşacağız. Bu nedenle, hem teorik hem de pratik olarak veritabanı bağlantısını pekiştirebileceksiniz.


Flask İçin Veritabanı Bağlantısı Kurma

Flask, Python tabanlı bir web framework'üdür ve hafif bir yapısı vardır. Flask ile SQLite veritabanına bağlanmak oldukça kolaydır. Flask'a veritabanı işlemleri için SQLAlchemy kütüphanesi kullanılır. Şimdi, Flask için aşağıdaki adımları takip ederek SQLite veritabanı oluşturabilir ve bağlantıyı kurabilirsiniz:

  • Kütüphanelerin yüklenmesi: İlk olarak, Flask ve SQLAlchemy kütüphanelerini yüklemeniz gerekir. Bunun için pip kullanarak aşağıdaki komutları çalıştırabilirsiniz:
    pip install Flask
    ve
    pip install SQLAlchemy
  • Veritabanı oluşturma: SQLite veritabanı için dosya tabanlı bir veritabanı kullanılır. Bu yüzden projenizin kök dizinine bir database.db adında bir dosya oluşturmanız gerekiyor.
  • Uygulama oluşturma: Flask uygulaması oluşturmak için aşağıdaki kodu kullanabilirsiniz:
    from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'db = SQLAlchemy(app)
  • Tablo Oluşturma: Veritabanına kaydedilecek verileri tutmak için bir tablo oluşturmanız gerekir. Bunun için aşağıdaki örnekteki gibi bir sınıf tanımlayabilirsiniz:
    class User(db.Model):    id = db.Column(db.Integer, primary_key=True)    username = db.Column(db.String(80), unique=True, nullable=False)
  • Bağlantı Testi: Flask ve veritabanı arasındaki bağlantıyı test etmek için aşağıdaki kodu kullanabilirsiniz:
    if __name__ == '__main__':    db.create_all()    app.run(debug=True)

Yukarıdaki adımları takip ederek Flask uygulamanıza SQLite veritabanı oluşturmanız ve bağlantıyı kurmanız mümkündür. Artık uygulamanızda veri ekleme, silme, güncelleme gibi işlemleri yapabilirsiniz.


Django İçin Veritabanı Bağlantısı Kurma

Django, popüler bir Python web framework'üdür. Django ile SQLite, PostgreSQL ve MySQL gibi veritabanlarına bağlanmak oldukça kolaydır. Django'nun sunduğu ORM (Object-Relational Mapping) sayesinde veritabanı işlemleri yapmak oldukça basittir.

Veritabanı bağlantısı kurmak için ilk yapmanız gereken, projenizin settings.py dosyasını açmaktır. Bu dosya, Django'nun yapılandırması için en önemli dosyalardan biridir.

Veritabanı bağlantısı için settings.py dosyasındaki DATABASES kısmına girmelisiniz. Burada, veritabanı kurulumu ve bağlantısı ile ilgili tüm ayarlamaları yapabilirsiniz.

Django'da SQLite veritabanı kullanmak istiyorsanız, settings.py dosyasındaki DATABASES ayarlamalarını aşağıdaki gibi yapabilirsiniz:

'ENGINE' : 'django.db.backends.sqlite3'
'NAME' : os.path.join(BASE_DIR, 'db.sqlite3')

Burada, veritabanı motoru (engine) ve veritabanı dosyasının yolu gibi ayarlamaları yapmalısınız.

PostgreSQL kullanmak isterseniz, DATABASES ayarlamalarını aşağıdaki gibi değiştirebilirsiniz:

'ENGINE' : 'django.db.backends.postgresql'
'NAME' : 'db_name'
'USER' : 'db_user'
'PASSWORD' : 'db_password'
'HOST' : 'localhost'
'PORT' : 5432

Burada, veritabanı kullanıcı bilgileri ve POSTGRESQL bağlantı bilgileri gibi ayarlamaları yapmalısınız.

Django ile MySQL veritabanına bağlanmak istiyorsanız, ayarlamalar aşağıdaki gibi olmalıdır:

'ENGINE' : 'django.db.backends.mysql'
'NAME' : 'db_name'
'USER' : 'db_user'
'PASSWORD' : 'db_password'
'HOST' : 'localhost'
'PORT' : 3306

Burada da, veritabanı ismi, kullanıcı bilgileri ve MySQL bağlantı bilgileri gibi ayarlamaları yapmalısınız. Yapılandırmayı tamamladıktan sonra, Django ile kolayca veritabanından veri okuyabilir veya veritabanına veri ekleyebilirsiniz.


SQLite Veritabanı Bağlantısı Kurma

Django, SQLite veritabanı için hazır bir bağlantı sağlar. Yeni bir projede SQLite kullanmak istiyorsanız, öncelikle django-admin startproject komutu ile yeni bir proje oluşturmalısınız.

Oluşturma işlemi tamamlandıktan sonra, settings.py dosyasını açın ve DATABASES adlı bir değişken göreceksiniz. Bu kısım aşağıdaki kod bloğu gibi görünecektir:

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.sqlite3',        'NAME': BASE_DIR / 'db.sqlite3',    }}

Bu ayarlar, projenizde SQLite kullanmak için gerekli olan ayarları içerir. SQLite veritabanı dosyasını olsuturmak için terminalde şunları yapabilirsiniz:

$ python manage.py migrate

Bu komut, varsayılan olarak projenizin SQLite veritabanını inşa eder. Şimdi yapmanız gereken tek şey, SQLite veritabanı için herhangi bir model tanımlamaktır. Ayrıca, sqlite3 modülünü kurmanız gerekmektedir. Bu işlem için aşağıdaki komutu kullanabilirsiniz:

$ pip install sqlite3

Eğer proje temelinizi PostgreSQL ya da MySQL kullanarak oluşturmak isterseniz, yukarıdaki adımları uygularken, ilgili değişiklikleri settings.py dosyasına eklemeniz gerekmektedir.


Settings.py Dosyası Değiştirme

=

Django'da SQLite veritabanı bağlantısı yapmak için ilk adım, veritabanı bağlantı ayarlarını settings.py dosyasında yapmaktır. Bu ayarları değiştirmek için aşağıdaki adımları takip edebilirsiniz:

Ayar Açıklama
DATABASES Veritabanı bağlantısı için bu ayar değiştirilir.
ENGINE Veritabanı motorunu belirler.
NAME Veritabanı adını belirler.
USER Veritabanı kullanıcı adını belirler.
PASSWORD Veritabanı şifresini belirler.
HOST Veritabanı sunucu adını belirler.
PORT Veritabanı port numarasını belirler.

Settings.py dosyasında yapılan değişiklikler aşağıdaki şekilde yapılabilir:

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.sqlite3',        'NAME': BASE_DIR / 'db.sqlite3',    }}

Yukarıdaki örnek, SQLite veritabanı kullanımını göstermektedir. Veritabanı motorunu, veritabanı adını ve veritabanı konumunu belirler.

Veritabanı bağlantısı oluşturulduktan sonra, Django uygulamasındaki modeller veritabanına eklenebilir, veriler oluşturulabilir ve veriler okunur/güncellenir. Bu adımların nasıl yapılacağını öğrenerek Django ve SQLite veritabanı kullanımı hakkında daha fazla bilgi edinebilirsiniz.


Veritabanı Oluşturma ve Bağlantı Kurma

Django'da SQLite veritabanı oluşturmak oldukça basittir. İlk olarak, veritabanını oluşturmak için kullanabileceğiniz birçok araç vardır; ancak bu makalede, ikincil bir kütüphane kullanmadan Django'nun kendi araçlarını kullanarak veritabanınızı nasıl oluşturacağınızı göstereceğiz.

İlk olarak, manage.py dosyasının bulunduğu dizinde terminal veya komut satırını açın ve şu komutu yazın:

python manage.py migrate

Bu, Django'nun varsayılan olarak sağladığı migrate komutunu çağıracaktır ve veritabanınızı oluşturacaktır. Bu komut, settings.py dosyasında belirtilen herhangi bir veritabanı motoruna bağlanacak ve tabloları oluşturacaktır. Ancak, bir veritabanı motoru belirtilmediyse, Django varsayılan olarak SQLite motorunu kullanacaktır.

Daha sonra, bir uygulama oluşturduğunuzda, uygulamanızın modellerini kullanarak tablolarınızı veritabanına yerleştirebilirsiniz. Models.py dosyasında belirttiğiniz tablolar için bir migration dosyası oluşturun:

python manage.py makemigrations {uygulama_adi}

Django, bu komutu kullanıcıların modellere ilişkin değişiklikleri veritabanına uygulama aşamasını idare edecektir. Sonra migration dosyanızı uygulayın:

python manage.py migrate {uygulama_adi}

Artık Django veritabanınızla etkileşim kurmak için hazır. Bunun için Django'da veritabanınızla işlem yapabileceğiniz birçok yararlı komut bulunmaktadır. Yapmanız gereken tek şey, özellikle hangi sorguyu kullanmanızı gerektiğini anlamak için Django Dokümantasyonunu okumaktır.


PostgreSQL Veritabanı Bağlantısı Kurma

Django'da PostgreSQL veritabanına erişmek için aşağıdaki adımları izleyebilirsiniz:

  • PostgreSQL veritabanı ve psycopg2 sürücüsü yüklü olduğundan emin olun.
  • settings.py dosyasını açın ve DATABASES değişkeninin altındaki 'ENGINE' değerini 'django.db.backends.postgresql' olarak değiştirin.
  • 'NAME','USER' ve 'PASSWORD' değerlerini PostgreSQL veritabanınıza olan bağlantınıza göre değiştirin.
  • 'HOST' ve 'PORT' değerlerini de PostgreSQL server'ınıza göre değiştirin.
  • Veritabanı oluşturmak için aşağıdaki komutu çalıştırın:
    CREATE DATABASE database_name;
  • Django'da PostgreSQL veritabanı bağlantısı için kullanılabilecek psycopg2 sürücüsü örnek kodu:
Parametre Açıklama
NAME PostgreSQL veritabanı adı
USER PostgreSQL veritabanı kullanıcısı
PASSWORD PostgreSQL veritabanı şifresi
HOST PostgreSQL server adresi
PORT PostgreSQL server portu
'DATABASES': {      'default': {          'ENGINE': 'django.db.backends.postgresql',          'NAME': 'database_name',          'USER': 'database_user',          'PASSWORD': 'database_password',          'HOST': 'localhost',          'PORT': '5432',      }}

Settings.py Dosyası Değiştirme

Django'da PostgreSQL veritabanı bağlantısı için settings.py dosyasını değiştirmek oldukça kolaydır. Bunun için aşağıdaki adımları izleyebilirsiniz:

  • İlk olarak, projenizin ana dizininde yer alan settings.py dosyasını açın.
  • Dosyanın en alt kısmında yer alan DATABASES bölümüne gidin.
  • Bu bölümde, varsayılan olarak SQLite veritabanı ayarları yer almaktadır. Bu ayarları, PostgreSQL veritabanı ayarları ile değiştireceğiz.
  • PostgreSQL veritabanı ayarları için aşağıdaki kod parçasını ekleyin:
DATABASES = {    'default': {        'ENGINE': 'django.db.backends.postgresql',        'NAME': 'your_database_name',        'USER': 'your_database_username',        'PASSWORD': 'your_database_password',        'HOST': 'localhost',        'PORT': '',    }}

Yukarıdaki kod parçasında, your_database_name, your_database_username ve your_database_password yerine kullanacağınız veritabanı ismi, kullanıcı adı ve şifresini yazmanız gerekmektedir.

Bunları kaydettikten sonra, artık PostgreSQL veritabanı ile bağlantı kurabilirsiniz.


Veritabanı Oluşturma ve Bağlantı Kurma

Django ile PostgreSQL veritabanına bağlantı kurma adımı olarak veritabanı oluşturma ve bağlantı kurma işlemi yapılmalıdır. Bunun için sırasıyla aşağıdaki adımlar uygulanmalıdır.

1. PostgreSQL Sunucusu Kurulumu: İlk adım, PostgreSQL veritabanı sunucusu kurulumudur. Kurulumu yaptıktan sonra, PostgreSQL Sunucu hizmetini başlatın ve çalışır durumda olduğundan emin olun.

2. Django Kurulumu: Django kurulumunuzun yapılandırılmasını kontrol edin ve çalışır durumda olduğundan emin olun.

3. Veritabanı Oluşturma: Django komut satırı aracılığıyla, veritabanı için bir veritabanı oluşturma komutu verin.

4. PostreSQL Veritabanını Ayarlama: Veritabanını ayarlamak için, ilk olarak PostgreSQL veritabanı için bir kullanıcı ve parolamız var mı kontrol edin. Kullanıcı adı ve şifresi tanımlandıktan sonra, settings.py dosyasını değiştirin.

Bu işlem için settings.py dosyasını açın ve veritabanı bilgilerinin doğru olduğundan emin olun. Aşağıdaki kod örneği gibi DATABASES başlığındaki ENGINE değişkeninin doğru bir şekilde ayarlandığını onaylayın.

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'yourdatabasename', 'USER': 'yourusername', 'PASSWORD': 'yourpassword', 'HOST': 'localhost', 'PORT': '', } }

Bu değişiklikleri kaydedin ve kapatın.

5. Veritabanına Bağlanma: Veritabanına bağlanmak için, Terminal penceresinde aşağıdakine benzer bir komut kullanın:

$ python manage.py migrate

Bu, Django'nun veritabanı tablolarını oluşturmasını ve PostgreSQL veritabanına bağlanmasını sağlar.

Bu adımlar tamamlandıktan sonra, PostgreSQL ve Django arasında bir bağlantı kurulmuş olacaktır. Artık Django projenizi PostgreSQL veritabanıyla kullanabilirsiniz.


MySQL Veritabanı Bağlantısı Kurma

Django'da MySQL veritabanına bağlantı kurmanın adımları oldukça basittir. Bunlar şu şekildedir:

İlk olarak, settings.py dosyasını açmalısınız ve aşağıdaki kod örneğine benzer şekilde veritabanı ayarlarını değiştirmelisiniz:

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'veritabani_adi',        'USER': 'kullanici_adi',        'PASSWORD': 'parola',        'HOST': 'localhost',        'PORT': '3306',    }}

Bu kod örneğinde, 'veritabani_adi' veritabanı adını, 'kullanici_adi' kullanıcı adını ve 'parola' şifresini değiştirmeniz gerekiyor. Ayrıca, 'localhost' yerine sunucunuzun IP adresini kullanmalısınız.

Veritabanını oluşturmak ve bağlantıyı kurmak için, aşağıdaki komutları uygulamanız gerekiyor:

$ mysql -u kullanici_adi -p

Yukarıdaki kod ile MySQL'e giriş yapıyorsunuz. Daha sonra aşağıdaki komutları kullanarak veritabanınızı oluşturabilirsiniz:

CREATE DATABASE veritabani_adi;

Son adım, veritabanınızı oluşturduktan sonra Django'yu kontrol etmek içindir. Aşağıdaki komutu kullanarak Django veritabanı tablolarınızı oluşturabilirsiniz:

$ python manage.py migrate

Artık Django ile MySQL veritabanınıza bağlantı kurabilirsiniz!


Settings.py Dosyası Değiştirme

Django'da MySQL veritabanına bağlanmak için settings.py dosyasında bazı değişiklikler yapılması gerekmektedir. Bu adımları izleyerek MySQL veritabanı bağlantısı kurabilirsiniz:

  • ENGINE: 'django.db.backends.mysql' olarak ayarlanmalıdır.
  • NAME: Veritabanının adı bu bölümden yapılacak değişiklikle belirlenir.
  • USER: Veritabanı kullanıcısını burada belirleyebilirsiniz.
  • PASSWORD: Veritabanı kullanıcısı için şifre bu alana girilmelidir.
  • HOST: Veritabanı sunucusunun adı veya IP adresi buraya girilmelidir. Varsayılan olarak 'localhost' olarak ayarlanmıştır.
  • PORT: Veritabanı için kullanılacak bağlantı noktası bu alanla belirtilir. Varsayılan olarak 3306'dır.

Yapılan değişikliklerin bir örneği aşağıdaki gibidir:

DATABASES = {  
        'default': {  
            'ENGINE': 'django.db.backends.mysql',  
            'NAME': 'veritabani_adi',  
            'USER': 'root',  
            'PASSWORD': 'sifre',  
            'HOST': 'localhost',  
            'PORT': '3306',  
        },  
}  

Yukarıdaki adımları takip ederek MySQL veritabanına Django'dan erişebilir ve kullanabilirsiniz. İşleminiz tamamlandıktan sonra migrations dosyası için python manage.py makemigrations ve ardından veritabanına uygulamak için python manage.py migrate komutlarını kullanmanız gerekmektedir.


Veritabanı Oluşturma ve Bağlantı Kurma

Django ile MySQL veritabanı oluşturmak oldukça basittir. İlk önce, MySQL’in yüklü olması gerekir. Daha sonra, Django'nun veritabanını oluşturması için kullanacağı MySQL kullanıcı hesabı oluşturmanız gerekir. Bu hesap, üst düzey izinlere sahip olmalıdır. Veritabanı oluşturma işlemini gerçekleştirmek için önemli olan tek şey, Django'da settings.py dosyasını yapılandırmaktır. Aşağıdaki örnekte gösterildiği gibi DATABASES bölümüne MYSQL veritabanı bilgileri eklenmelidir.

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': 'localhost', 'PORT': '3306', }}

MySQL için kullanıcı adı, şifre, veritabanı adı ve diğer bilgiler verilmiştir. 'ENGINE' değeri de Django'nun MySQL veritabanını kullanacağını belirtir.

Bu ayarlardan sonra, veritabanı tablolarını oluşturmak için komut satırına aşağıdaki komutu yazabilirsiniz:

python manage.py migrate

migrate komutu, Django'nun veritabanınızı oluşturmasını ve yönetmesini sağlar. Bu, "migrate" edilen tüm modelleri veritabanınızda oluşturacaktır.

Veritabanı bağlantısını denemek için, django-admin komut satırına aşağıdaki kodu ekleyerek MySQL veritabanı ile bağlantı kurabilirsiniz:

django-admin dbshell

Bu komut, MySQL veritabanınıza girmenizi sağlar. Artık Django ile MySQL veritabanı oluşturduğunuzda, Django'nun veri tabanı bağlantısını ve tablo oluşturma adımlarını gerçekleştirdiğinden emin olabilirsiniz.