Django sağlam, ölçeklenebilir, güvenli ve yüksek performanslı web uygulamaları oluşturma sürecini kolaylaştıran, tanınmış bir web çerçevesidir. Açık kaynaklı bir proje olup, Python dilinde yazılmıştır. Django hakkında daha detaylı bilgiye buradan ulaşabilirsiniz.
Herhangi bir web uygulaması, verileri yönetmek için arka uç olarak bir veritabanına ihtiyaç duyar. Django, arka uç olarak çeşitli veritabanı motorlarını destekler; örneğin, MySQL, PostgreSQL, SQLite vb. PostgreSQL, güçlü ve açık kaynaklı bir nesne-ilişkisel veritabanı sistemidir. Güvenilirliği, ölçeklenebilirliği, güvenliği ve güçlü özellik setiyle tanınır. PostgreSQL hakkında buradan daha fazla bilgi edinebilirsiniz.
Bu kılavuzda, örnek bir Django uygulamasında PostgreSQL'in arka uç olarak nasıl entegre edileceğini göstereceğiz.
Önkoşullar
Django ile çalışmak belirli sistem yapılandırmaları gerektirir.
- Düzgün şekilde yapılandırılmış bir Ubuntu 21.04 sunucusu. Bir Ubuntu sunucusu kurma.
- hakkında daha fazla bilgi edinin. Bir Python geliştirme ortamı. Django, Python ile yazılmıştır, bu nedenle çalışması için Python ortamı gereklidir.
- Django uygulamamız için veritabanı sunucusu olarak kullanacağımızdan, PostgreSQL'in kurulu olması gerekir. Ubuntu üzerinde PostgreSQL kurulumu ve yapılandırılması hakkında buradan daha fazla bilgi edinebilirsiniz.
Bu kılavuz ayrıca, işlevsel bir Django uygulaması için gerekli olan çeşitli Python modüllerinin ve kütüphanelerinin nasıl kullanılacağını da gösterecektir.
Adım 1. Gerekli Bileşenlerin Kurulması
Projemizin çalışması için Ubuntu sistemimizde bir dizi önemli paketin kurulu olması gerekir. Neyse ki bunların tümü resmi Ubuntu paket depolarından doğrudan temin edilebilir. Bu paketler Python bileşenlerini ve veritabanı (PostgreSQL) bileşenlerini içerir.
İlk olarak, terminali başlatın ve APT paket önbelleğini güncelleyin:
|
1 |
sudo apt update |
Ardından, paketleri kurun:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
Adım 2. Veritabanının Hazırlanması
PostgreSQL artık kuruldu ve kullanıma hazır. Sırada, Django uygulamamız için özel bir veritabanı ve kullanıcı oluşturmak var. Özel bir kullanıcıya sahip olmak, veritabanı ve yetki yönetimi açısından faydalıdır.
Kurulum sırasında PostgreSQL, özel bir kullanıcı oluşturur: postgres. Bu kullanıcı, PostgreSQL üzerinde her türlü yönetimsel görevi gerçekleştirme yetkisine sahiptir. postgres hesabına erişin:
|
1 |
sudo su – postgres |
Kullanıcı adı altında yeni bir kabuk (shell) oturumuna geçiş yapmalısınız: postgres. Ardından, bir PostgreSQL kabuğu açın:
|
1 |
psql |
Şimdi Django uygulamamız için özel bir veritabanı oluşturacağız. Veritabanına Django uygulamasıyla eşleşen bir isim verilmesi önerilir:
|
1 |
CREATE DATABASE <database_name>; |
Ardından, özel bir veritabanı kullanıcısı oluşturacağız. Bu kullanıcıyı Django'ya özel veritabanına erişmek için kullanacağız:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
Bir sonraki adım, yeni kullanıcı için birkaç bağlantı parametresini ince ayar yapmaktır. Bu, her bağlantı kurulduğunda değerlerin tekrar sorgulanmasını gerektirmeyeceğinden veritabanı işlemlerini hızlandırmaya yardımcı olur. Aşağıdaki komutları çalıştırın:
|
1 2 3 |
ALTER ROLE <username> SET client_encoding TO 'utf8'; ALTER ROLE <username> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <username> SET timezone TO '<timezone>'; |
Bu komutların kısa bir açıklamasına göz atalım:
-
Varsayılan kodlamayı UTF-8 olarak ayarlıyoruz. Django'nun veritabanlarıyla etkileşime girerken beklediği şey budur.
-
Varsayılan işlem şeması "read committed" (işlenmişi oku) olarak ayarlanır, böylece işlenmemiş işlemlerden yapılan okumalar engellenir.
-
Saat dilimi, konuma göre ayarlanmalıdır.
Saat diliminin adından emin değilseniz, aşağıdaki komut PostgreSQL tarafından desteklenen tüm saat dilimlerini listeleyecektir:
|
1 |
SELECT * FROM pg_timezone_names; |
Son olarak, yeni kullanıcıya Django için ayrılmış veritabanı üzerinde tam yetki verin:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
PostgreSQL ile işimiz artık bitti. psql kabuğundan çıkın ve postgres oturumunu kapatın.
Adım 3. Django Kurulumu
Django uygulamamız için gerekli veritabanı sunucusunu yapılandırdık. Şimdi, özel Django uygulamasını kurup yapılandıracağız. Django doğrudan resmi Ubuntu deposunda mevcut olsa da, bu yöntemi kullanmanızı önermiyoruz. Bu, Django'yu sistem genelinde kuracaktır. Daha iyi esneklik ve yönetim kolaylığı için Django'yu sanal bir ortamda kuracağız. Django'yu sanal bir Python ortamında kurup yapılandırmak standart bir uygulamadır.
Python'ın, hedef konumda sanal bir Python ortamı oluşturan bir virtualenv modülü vardır. Bu ortam, Python ikili dosyalarının ve yapılandırmalarının kendi kopyasını alır. Sanal ortam içinde değişiklik yapmak sistemin geri kalanını etkilemeyecektir.
Şunu yükleyin: virtualenv:
|
1 |
sudo apt install virtualenv |
Ardından, amacımız Python sanal ortamını kurmak için özel bir dizine sahip olmaktır. Bu, Django uygulamamızın temelini oluşturacaktır. Gösterim amacıyla, uygulama adımız sample_app olacaktır. Yeni bir dizin oluşturun:
|
1 |
mkdir -pv <dir_name> |
Mevcut aktif dizini değiştirin ve sanal ortamı kurun:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
Bundan sonra, sanal ortamı etkinleştirin:
|
1 |
source sample_app_env/bin/activate |
Sanal ortam artık hazır ve çalışır durumda. Ardından, pip aracını kullanarak Django ve psycopg2 (PostgreSQL için bir Python adaptörü) kuracağız:
|
1 |
pip install django psycopg2 |
Son olarak, Django araçlarını kullanarak yeni bir Django projesi oluşturabiliriz. Bu, mevcut dizinde tüm kodları barındıran aynı isimde bir alt dizin ve bir yönetim betiği oluşturacaktır:
|
1 |
django-admin startproject <project_name> . |
Adım 4. Django Projesini Yapılandırma
Django projesi, bir web uygulaması olarak çalışmak için tüm temel araçlara sahiptir. Bunu veritabanımızla entegre etmek için yapılandırma dosyalarında bazı ince ayarlar yapmamız gerekecek.
Bir metin düzenleyicide settings.py dosyasını açın:
|
1 |
nano settings.py |
Aşağı kaydırarak DATABASES bölümüne gelin. Varsayılan olarak, SQLite:
kullanacak şekilde yapılandırılmıştır. Amacımız doğrultusunda kodu aşağıdaki gibi değiştirin:
|
1 2 3 4 5 6 7 8 9 10 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '<db_name>', 'USER': '<db_user>', 'PASSWORD': '<db_user_password>', 'HOST': 'localhost', 'PORT': '', } } |
Burada, Django'ya veritabanı iletişimi için psycopg2 adaptörünü kullanmasını söylüyoruz. Ayrıca veritabanı adı ile birlikte özel kullanıcının kullanıcı adı ve şifresi gibi gerekli tüm veritabanı bilgilerini de bildiriyoruz.
Bitirdikten sonra dosyayı kaydedin ve düzenleyiciyi kapatın.
Adım 5. Veritabanını Taşıma
Django, PostgreSQL veritabanımıza erişecek şekilde yapılandırılmıştır. Artık veri yapısını veritabanımıza taşıyabiliriz. Django'da bu işlem migration.
olarak bilinir. Veritabanı değişikliklerini taşımak için şu yönetim betiğini çağırın: manage.py:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
Ardından, Django uygulamamız için bir süper kullanıcı oluşturun:
|
1 |
python manage.py createsuperuser |
Bu süper kullanıcı hesabı, Django uygulamamız için yönetici hesabı olarak görev yapacaktır.
Adım 6. Değişiklikleri Test Etme
Şimdiye kadar Django uygulamamızda birden fazla ince ayar yaptık. Her şeyin istendiği gibi çalışıp çalışmadığını kontrol etme zamanı. Bunu uygulamayı başlatarak ve yönetici paneline erişerek doğrulayacağız.
Django uygulamasını yerel olarak geliştirdiğimiz için sunucuyu şurada başlatacağız: localhost. Bir gelenek olarak, onu şu portta başlatacağız: 8000. Yapılandırılmış bir güvenlik duvarınız varsa, o zaman şu porta giden trafiğe izin vermesi gerekir: 8000. Şunun hakkında daha fazla bilgi edinin: UFW'nin temelleri burada.
Django sunucusunu başlatın:
|
1 |
python manage.py runserver localhost:8000 |
Bir tarayıcıda URL'ye erişin:
|
1 |
http://localhost:8000 |
Django kurulum başarı sayfasına ulaşmalısınız. Django yönetici sayfasına erişmek için aşağıdaki URL'ye gidin:
|
1 |
http://localhost:8000/admin |
Giriş yapmak için oluşturduğumuz süper kullanıcıyı kullanmanız gerekir:
İşte bu kadar! Yönetici paneline başarıyla ulaştık!
Keşfetmeyi bitirdiğinizde, konsoldan Ctrl + C tuşuna basarak Django sunucusunu durdurun.
Son Düşünceler
Bu kılavuzda, örnek bir Django uygulaması kurmayı ve PostgreSQL'i bunun arka ucu olarak yapılandırmayı başarıyla gösterdik. SQLite, geliştirme (ve hafif üretim kullanımı) sırasındaki ihtiyaçları karşılamak için genellikle fazlasıyla yeterli olsa da, çoğu proje daha tam özellikli bir DBMS'ye geçerek büyük ölçüde fayda sağlayacaktır. PostgreSQL, performans ve ölçeklenebilirlik için harika bir seçenektir.
Django, çok sayıda teknolojiyle çalışabilen çok yönlü bir web çerçevesidir. Django kullanımını gösteren diğer bulut kılavuzlarına göz atın:
- Ubuntu 20.04 üzerinde PostgreSQL, Nginx ve Gunicorn ile Django Kurulumu
- Ubuntu üzerinde Docker ile Django ve Gunicorn Uygulaması Oluşturma
- Docker, Nginx ve Let’s Encrypt ile bir Django Uygulamasını Güvenli Hale Getirme ve Ölçeklendirme
- Veritabanı Bağlantılı Bir Django Uygulaması Oluşturma: Bir Eğitim
Keyifli Kodlamalar!






















Yorumlar
Henüz yorum yapılmamış. İlk siz olun.