Bloğa geri dön

Veritabanı Bağlantılı Bir Django Uygulaması Oluşturma: Bir Öğretici

Veritabanı Bağlantılı Bir Django Uygulaması Oluşturma: Bir Öğretici

Django, Python dilinde yazılmış, ücretsiz ve açık kaynaklı bir web çerçevesidir. İlk olarak 2005 yılında yayınlanan Django, “hızlı geliştirme ve temiz, pragmatik tasarım” mottosunu benimser. Bir web sunucusuna kurulan bu çerçeve; zengin özelliklere sahip, güvenli ve ölçeklenebilir bir web ön yüzünü hızlı bir şekilde üretebilir.

Herhangi bir web uygulaması, içeriği için veritabanlarına güvenir. Modern bir çerçeve olan Django, bir dizi standart veritabanı programını destekler; örneğin, PostgreSQL, SQLite, MySQL, vb. Bu kılavuz, bir Django uygulamasının MySQL üzerindeki bir veritabanına nasıl bağlanacağını gösterecektir.

Önkoşullar

Bu öğreticiyi takip etmek için Django ve veritabanı bağlantısına geçmeden önce belirli ön koşulları karşılamanız gerekir:

hakkında ayrıntılı bir kılavuz

Python 3 Kurulumu ve YapılandırılmasıDjango, Python ile yazılmıştır. Herhangi bir Python uygulamasını çalıştırmak, sistemde Python ikili dosyalarının kurulu olmasını gerektirir. Ubuntu, varsayılan olarak Python kurulu olarak gelir. Burada Python 3'ü kullanacağız. Terminalden aşağıdaki komutları çalıştırın. İlk olarak, APT

y Python 3, resmi Ubuntu paket sunucularından doğrudan temin edilebilir. -python-ispython3 paketi, kullanım kolaylığı için python3 dosyasına sembolik bir python

python3

version Bundan sonra, pip aracına ihtiyacımız var. Bu, standart Python paket yöneticisidir. Standart kütüphanenin parçası olmayan ek Python kütüphanelerinin yönetilmesinden sorumludur. pip3

pip

dev

MySQL Kurulumu ve Yapılandırılması

server

Django App 1

mysql

MySQL sunucusu çalışır durumdadır. Artık Django uygulamamızın geliştirilmesine güvenle geçebiliriz.

  • Django ile Çalışmak

Örnek Django uygulamasını oluşturmaWeb uygulamamızın temeli, Django proje iskeletini gerektirir. Bu iskelet, sağlam bir web uygulaması oluşturmak için gereken tüm araçları ve kütüphaneleri içerir. İlk olarak, Django uygulamamız için özel bir dizin oluşturacağız. Dizine, oluşturmak üzere olduğumuz uygulamayla uyumlu ve anlamlı bir ad verilmesi önerilir. Bu gösterimde dizini :

myDemoApp Dizin içinde sanal bir ortam oluşturmak için Python venv modülüne ihtiyacımız var. Modülü :

venv Ardından, dizine gidin ve sanal bir ortam oluşturun. Netlik sağlamak amacıyla ortama :

demoapp_env Sonra, activate

Django App 2

Şimdi Django'yu bu özel sanal ortamın içine kuracağız. Pip bazı ek bileşenleri indirip kuracaktır:

Django kuruldu ve kullanıma hazır. Yeni bir Django projesi oluşturmak için django-admin komutunu çağırın. Ardından uygulamaya uygun bir ad verin:

Gerekli proje dosyaları ve dizinleri hazır olacak şekilde bir demo projesi oluşturacaktır:

Django App 3

Proje iskeleti hazır. Sırada, amacımıza ulaşmak için projeyi düzgün bir şekilde yapılandırmamız gerekiyor.

  • Django proje ayarlarını düzenleme

Projenin tüm yapılandırmaları şu dosya altında saklanır: settings.py. Bu dosya Django proje dizini içinde yer alır. Uygun bir saat dilimi ayarlayarak ve Django uygulamasına bağlanabilecek ana bilgisayarları listeleyerek başlayacağız. Yapılandırma dosyasını bir metin düzenleyicide açın:

Betikte aşağı kaydırın ve şu girdiyi bulun: TIME_ZONE. Gösterim amacıyla saat dilimi şu şekilde ayarlanmıştır: America/New_York:

TIME_ZONE

Referans olması açısından, aşağıdaki komut Linux'ta desteklenen tüm saat dilimlerini yazdıracaktır:

Ardından, şu girdiye kaydırın: ALLOWED_HOSTS. Bu girdi, uygulamaya hangi makinenin/makinelerin erişebileceğini kontrol eder. Gösterim amacıyla yalnızca localhost içerir:

Django App 4Ardından dosyayı kaydedin ve düzenleyiciyi kapatın. Bir sonraki komut değişiklikleri uygulayacaktır:

python manageŞimdi, web uygulaması için bir yönetici hesabı oluşturmamız gerekiyor. Bu hesap, Django yönetim arayüzüne erişmek için kullanılacaktır. Aşağıdaki komutu çalıştırın:

Django App 5Kullanıcı adı, e-posta ve şifre isteyecektir. Uygulama artık veritabanına bağlanmaya hazır.

MySQL Bağlantısı

  • MySQL konektörlerini ve geliştirme kütüphanelerini yükleme

MySQL'i Django uygulamasına entegre etmek için gerekli araçları sağlayacak bazı ek Python 3 kütüphanelerine ihtiyacımız var. Şu veritabanı konektörünü kullanacağız: mysqlclient. Bu, şunun bir çatalıdır (fork): MySQLdb.

Sisteminizde python3-dev kurulu olduğundan emin olun:

Ayrıca bazı ek Python ve MySQL başlık dosyalarına (headers) ve kütüphanelerine de ihtiyacımız var:

Kurulum tamamlandıktan sonra, pip aracını kullanarak şu Python modülünü yükleyin: mysqlclient. Yoksayılabilecek bazı hata mesajları oluşabilir:

  • Özel bir veritabanı yapılandırma

Bir sonraki adım, Django uygulamamız için özel bir veritabanı ve veritabanı kullanıcısı yapılandırmaktır. MySQL kabuğunu şu kullanıcı olarak başlatın: root kullanıcısı:

Hali hazırda mevcut olan tüm veritabanlarını kontrol etmek için aşağıdaki sorguyu çalıştırın:

Django uygulamamız için özel bir veritabanı oluşturalım. Proje adıyla uyumlu, uygun bir ad verin:

Ardından, oluşturulduğunu doğrulayın:

Django App 6Şimdi, özel bir MySQL kullanıcısı oluşturun. Bu kullanıcıyı veritabanının sahibi olarak yapılandıracağız. Django uygulaması, MySQL veritabanıyla çalışmak için bu kullanıcının kimlik bilgilerini kullanacaktır:

Give the user demoapp_user kullanıcısına şu veritabanı üzerinde tam yetki verin: demoapp_data:

Yetki değişikliklerinin geçerli olması için şunu yeniden yükleyin: MySQL yetki tabloları (grant tables):

Django App 7Veritabanı artık Django uygulamasına bağlanmaya hazır.

  • Veritabanını Django Uygulamasına Bağlama

Son olarak, Django uygulamasını veri depolamak için veritabanını kullanacak şekilde yapılandıracağız. Yapılandırma betiğini açın: settings.py:

Aşağı kaydırarak şu girdiyi bulun: DATABASES ve aşağıdaki kodu girin:

Django App 8Dosyayı kaydedin ve düzenleyiciyi kapatın. Bir sonraki adım, daha önce kodda açıklanan yapılandırma dosyasını ayarlamaktır. Açıklanan konumdaki metin dosyasını açmak için sudo kullanın:

Bu yapılandırma dosyası, Django'ya özel veritabanı ve MySQL sunucusunda oluşturduğumuz kullanıcı hakkında bilgiler içerecektir. Dosyanın sonuna aşağıdaki satırları ekleyin:

default-character-setDeğişikliklerin geçerli olması için MySQL sunucusunu yeniden başlatmamız gerekir:

  • MySQL bağlantısını test etme

Şimdi MySQL bağlantısının düzgün çalışıp çalışmadığını doğrulama zamanı. Django sunucusu sorunsuz çalışıyorsa, bağlantı iyi çalışıyor demektir. Aksi takdirde, bir şeyler yanlıştır. İlk olarak, Django projesinde yapılan tüm değişiklikleri uygulayın:

python manageŞimdi, aşağıdaki proje dizinine gidin ve Django sunucusunu başlatın:

python manage.py runserverArdından, bir web tarayıcısından sunucuya erişmeyi deneyin:

server_ip_address

İşte bu kadar! Django başarı sayfasına başarıyla ulaştık. Bu aynı zamanda MySQL bağlantısının düzgün çalıştığını da doğrular. Görev bittikten sonra sanal ortamdan güvenle çıkabilirsiniz:

Son Düşünceler

Bu kılavuzda, Django ve MySQL'i bir araya getirmenin temellerini öğrendiniz. Bir Django uygulaması oluşturduk ve bunu bir MySQL veritabanına nasıl bağlayacağımızı gösterdik. Sihir, Django yapılandırma dosyasında yatıyor: settings.py. Ayrıca ALLOWED_HOSTS ve TIME_ZONE gibi bazı temel ayarları da değiştirdik. Django inanılmaz derecede esnektir. MySQL'in yanı sıra PostgreSQL gibi diğer SQL sunucularını, Nginx gibi sunucu motorlarını vb. de destekler.

Django'yu kurmak, yapılandırmak ve onunla çalışmak için en iyi uygulamalara yönelik kılavuzlarımıza da göz atabilirsiniz:

Mutlu Kodlamalar!

author

Hark Labs

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

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