Django Mimarisi: MVT Çerçevesinin Çalışma Sistemi Açıklaması

Yayınlanan: 2020-12-23

İçindekiler

Tanıtım

Django, Python dilinde yazılmış en kolay ve verimli web uygulama çerçevelerinden biridir. Bu çerçeve ücretsiz ve açık kaynaklıdır ve bu nedenle herhangi bir web sitesinin arka ucunu geliştirmek için PHP, sunucu uygulamaları vb. kullanımının yerini almıştır. Django Software Foundation tarafından 15 Temmuz 2005'te geliştirilmiştir.

Django, karmaşık web geliştirme çerçeveleri üzerinde çalışan geliştiriciler için veritabanları oluşturma kolaylığının rakipsiz bir avantajını sağlar. Bunun da ötesinde, Django en hızlı veri akışlarından birini sağlar ve güvenlikten ödün verilmemesini sağlar.

Django'nun mimarisi, aşağıda açıklandığı gibi öncelikle MVT çerçevesini takip eder.

  • M: modeli
  • V: Görünüm
  • T: Şablon

MVT, Model, Görünüm ve Denetleyiciden oluşan MVC çerçevesinin bir alternatifi olarak görülebilir. MVT ve MVC arasındaki en büyük karşıtlık, Django mimarisinin MVC mimarisinin denetleyici kısmı tarafından ele alınan sorumluluklarla ilgilenmesidir. Django, denetleyiciyle ilişkili tüm görevleri gerçekleştirmek için şablonlarını kullanır. Daha basit bir deyişle, şablon, Django Şablon Dili (DTL olarak da bilinir) ve HTML'nin (Köprü Metni İşaretleme Dili) karışımı olan içerikleri içerir.

Şablon, yukarıda tanıtıldığı gibi, bir uygulamanın mimarisiyle ilgili etkinlikleriyle birlikte kullanıcı arayüzüyle ilgili tüm eylemlerden ve özelleştirmelerden sorumludur. Şablonun altında “Görünüm” var. Görünüm, uygulamanın mantıksal işleme ve karar verme faaliyetlerinin komutasını alır ve ayrıca ilgili veri noktalarını getirmek ve buna göre şablonu ihtiyaca göre değiştirmek için “Model” ile iletişim kurar.

Yukarıda tartışıldığı gibi, Django'nun kendisi, uygulamanın görünüm kısmına bağlı bir URL'yi getiren ve sonunda uygulamaya ilgili kullanıcı yanıtlarını gönderen bir denetleyici görevi görür. Bu, Django MVT mimarisinde gerçekleşen genel etkileşimdir.

Mutlaka Okuyun: Github'da Django Projeleri

modeli

Django'da model, tüm mimariyi veritabanına bağlamada önemli bir rol oynar. Tüm bu süreçte, her bir model, veritabanı içinde tek bir tabloya bağlanır. Bu işlemle ilişkili yöntemler ve alanlar, genellikle model.py olarak tanımlanan ayrı bir dosyada bildirilir.

Linkleme işlemi yapıldıktan ve her şey veritabanına bağlandıktan sonra, her satırı değerlendirebileceğiz veya daha kesin olarak ilgili tablodan kayıt yapabileceğiz ve hatta tablo üzerinde buna göre farklı DML işlemleri gerçekleştirebileceğiz.

Django.db.models, bu durumda kullanılan alt sınıftır. Python'un varsayılan içe aktarma işlevini “django.db içe aktarma modellerinden” olarak kullanabiliriz.

Veritabanı sütunlarımızı, tablolarımızı ve kayıtlarımızı tanımladıktan sonra, settings.py'deki mapping'den bahsederek uygulamaya bağlı verileri getireceğiz.

Görünüm

Veri akışı çerçevesinin genel mantığı, modelin bu bölümünde tanımlanır. Kodun tamamı views.py dosyasında tanımlanmıştır.

Görünüm dosyasının diğer bir görevi, uygulama her kullanıldığında yanıtları ilgili kullanıcıya göndermektir. Meslekten olmayan terimlerle, basitçe view.py'nin HttpResponse'yi işleme kapasitesine sahip olduğunu iddia edebiliriz.

Bir view dosyası oluşturulduğunda aklımıza gelen bir sonraki soru bu dosyayı uygulamamıza nasıl bağlayabiliriz? Çerçevenin belirli bir görünümü ne zaman göstereceğini anlayacağından nasıl emin olabiliriz? Bu anlayış, views.py dosyasının ayrı bir urls.py dosyasında eşlenmesiyle oluşturulabilir. Yukarıda tartıştığımız gibi, urls.py tüm farklı sayfaların kaydını tutmaktan ve dolayısıyla her birini eşlemekten sorumludur.

Şablon

Karmaşık işlemler veya işlevler için dinamik bir web sitesi oluşturmak istediğimizde, şablonlar bunu kolay bir şekilde elde etmemize yardımcı olur. Daha basit bir deyişle, dinamik web sitesi dinamik veya değişen verileri gönderir ve alır. Dinamik veriler genellikle her kullanıcıya kendi kişiselleştirilmiş verilerinin sunulduğu bir senaryo ile ilişkilendirilir. Örneğin, Facebook, Instagram, Twitter vb. sosyal medya sitelerindeki gönderiler veya fintech ürünlerindeki farklı işlemler vb.

Şablon, INSTALLED_APPS altındaki settings.py dosyasında kurulur. Bu nedenle python kodu, şablon alt dizini altındaki ilişkili dosyaları arayacaktır. Bunu yapmak için 2 seçenek vardır - ya bir HTML dosyası oluşturabiliriz ya da tarayıcı aracılığıyla dinamik bir web sayfasını içe aktarabilir ve ilgili şablon klasörüne kaydedebiliriz.

Şimdi yanıt almak için bu dosyayı urls.py ve views.py'de bağlayacağız. Tüm bağlantı süreci tamamlandıktan sonra web sitemizi çalışır duruma getirebiliriz.

Bu satırlar boyunca, Django bu şekilde çalışır. Ana Python kayıtları, sayfamızın settings.py, view.py ve urls.py olduğunu göstermek için birbirleriyle arayüz oluşturmak için kullanılır.

Buradaki mantığımızı tek tek karakterize ettiğimizde, veri tabanını bağlayan, müşteri veri kaynaklarını ve tepkilerini alan ve dinamik sayfalar gösteren bir çalışma sürecimiz olabilir. Django'da daha derine dalmak istiyorsanız, belgelere bir göz atın ve aralarındaki bağlantıyı anlayın.

Ayrıca Okuyun: Python Django Proje Fikirleri

Dünyanın En İyi Üniversitelerinden Yazılım Mühendisliği Kurslarına Kaydolun . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Django çerçevesinin özetini sevdiğinize inanıyoruz. Bu makaleyle ilgili herhangi bir sorunuz veya öneriniz varsa, lütfen aşağıdaki yorumlar bölümünden bize bildirin. Düşüncelerinizi duymak isteriz.

Django ve diğer tam yığın mühendislik araçlarını ve çerçevelerini incelemekle ilgileniyorsanız, upGrad ve IIIT-B'nin çalışan uzmanlara yönelik ve 500'den fazla uzun kapsamlı kapsamlı hazırlık sunan Tam Yığın Yazılım Geliştirmede Yönetici PG Programına bakın. , 9+ girişim ve görev, IIIT-B Mezun statüsü, makul aktif capstone girişimleri ve en iyi firmalarla istihdam yardımı.

Geleceğin Kariyerine Hazırlanın

Yazılım Mühendisliği Yüksek Lisans Programına Hemen Başvur