Django Eğitimi: Özellikler, ArchiDoku ve Tarih

⚡ Akıllı Özet

Django ücretsiz, açık kaynaklı bir projeksiyon cihazıdır. Python Model-View-Template (MVC) modeline dayalı web çerçevesi, yeniden kullanılabilir bileşenler, otomatik yönetim arayüzü ve her şeyi içeren tasarımı sayesinde güvenli, ölçeklenebilir, veritabanı tabanlı web sitelerinin hızlı geliştirilmesini sağlar.

  • 🔘 Çerçeve: Django, üst düzey bir programlama dilidir. Python Karmaşık, veritabanı tabanlı web uygulamalarını hızlı bir şekilde oluşturmak için kullanılan bir çerçeve.
  • ☑️ Archidoku: Model-View-Template (MVT) deseni, Django'nun denetleyiciyi yönetmesine ve veri, mantık ve sunumu birbirinden ayırmasına olanak tanır.
  • Piller dahildir: Dahili yönetim paneli, kimlik doğrulama, formlar ve uluslararasılaştırma özellikleri, tekrarlayan kurulum işlemlerinin çoğunu ortadan kaldırır.
  • Güvenlik: Varsayılan güvenlik önlemleri CSRF, siteler arası komut dosyası çalıştırma, SQL enjeksiyonu ve clickjacking saldırılarını engeller.
  • 🧪 ölçek: InstagramPinterest, Mozilla ve Disqus gibi platformlar, çok yüksek trafikli siteleri yönetmek için Django'ya güveniyor.
  • 🤖 AI: Django, makine öğrenimi modellerini API'ler olarak sunar ve GitHub Copilot gibi yardımcı araçlar arka uç kodlamasını hızlandırır.

Yeni Başlayanlar İçin Django Eğitimi

Django, web üzerindeki en büyük sitelerden bazılarına güç verirken, aynı zamanda...ping Günlük geliştirmeyi hızlı ve düzenli hale getirir. Özelliklerini, mimarisini ve tarihini incelemeden önce, aşağıdaki bölümler web çerçevelerinin temelleri ve Django'yu farklı kılan unsurlarla başlar.

Django Eğitim Özeti

Bu Django eğitiminde, temel konuların tamamı en baştan ele alınmaktadır. Bu eğitimde, Django'nun ne olduğu, tarihi, özellikleri, Django çerçevesinin karakteristik özellikleri, Django'nun bileşenleri, avantajları ve dezavantajları ve daha birçok kavramı öğreneceksiniz.

Django'yu öğrenmeden önce şunları anlayalım:

Web Çerçevesi nedir?

Web çerçevesi, esnek, ölçeklenebilir ve bakımı kolay dinamik bir web sitesi, web uygulaması veya web hizmeti oluşturmanıza yardımcı olan bir kod kütüphanesidir. Farklı web çerçeveleri arasında PHP için Zend bulunur. raylar üzerinde yakut Ruby ve diğerleri için.

Django nedir?

Django için bir web geliştirme çerçevesidir Python Hızlı ve etkili web sitesi geliştirme için standart yöntemler sunan bu üst düzey web çerçevesinin temel amacı, karmaşık veritabanı tabanlı web siteleri oluşturmaktır. Kaliteli web uygulamaları oluşturmanıza ve sürdürmenize yardımcı olur. Geliştirme sürecini sorunsuz ve zaman tasarrufu sağlayacak şekilde hızlı bir şekilde gerçekleştirmenizi sağlar.

Neden Django? Django'nun Temel Avantajları

Django'nun başlıca avantajları şunlardır:

  • Django'nun kurulumu ve çalıştırılması kolaydır. Başlamak için çeşitli seçenekler sunar.
  • Yönetim faaliyetleri için kullanıma hazır bir kullanıcı arayüzü sağlar.
  • Dahili uluslararasılaştırma sistemi sayesinde çok dilli web sitelerine olanak tanır.
  • Yoğun trafik taleplerini hızlı bir şekilde karşılamanıza yardımcı olur.
  • Django, her türlü içerik yönetim sistemi, sosyal ağ ve bilimsel hesaplama platformu oluşturmak için kullanılır.
  • Django, uçtan uca uygulama testi yapmanıza yardımcı olur.
  • Bu, API'nizi HTML çıktısıyla belgelemenize yardımcı olur.
  • REST çerçevesi, çeşitli kimlik doğrulama protokolleri için zengin bir desteğe sahiptir.
  • İzin ve kısıtlama politikaları sunar.
  • Tek bir kullanıcıdan gelen hız sınırlayıcı API istekleri için yaygın olarak kullanılır.

Django'nun Tarihi

Yıl Dönüm noktası
2003 Bu proje, Adrian Holovaty ve Simon Willison tarafından Lawrence Journal-World gazetesinde kurum içi bir proje olarak başlatılmıştır.
Temmuz 2005 Caz gitaristi Django Reinhardt'ın adını taşıyan "Django" albümü, Temmuz 2005'te piyasaya sürüldü.
2008 Haziran Django yazılımının piyasaya sürüldüğü açıklandı. Foundation (DSF) Django'yu koruyacaktı.
29 Temmuz 2009 Django 1.1, aggregate'ler ve işlem tabanlı testler gibi özelliklerle birlikte yayınlandı.
17 Mayıs 2010 Django 1.2 sürümü yayınlandı. Güncelleme, çoklu veritabanları ve e-posta arka ucu gibi özellikler sunarken, oturumlar ve çerezler konusunda da iyileştirmeler yapıldı.
Mart 23 2011 1.3 sürümü, sınıf tabanlı görünümler ve statik dosyalar gibi özellikler getirdi.
Mart 23 2012 1.4 sürümü, saat dilimleri ve tarayıcı içi test gibi yeni özelliklerle birlikte piyasaya sürüldü.
Şubat 26 2013 1.5 sürümü şunlarla birlikte geldi: Python 3 destek ve yapılandırılabilir kullanıcı modeli özelliği.
Kasım 6 2013 1.6 sürümü, veritabanı işlem yönetimi ve bağlantı havuzlama özellikleriyle birlikte geldi.
2 Eylül 2014 1.7 sürümünde uygulama yükleme, geçişler ve yapılandırma gibi yeni özellikler yer alıyordu.
Nisan 1 2015 Birden fazla şablon motoru için yerel destek sağlandı.
1 Aralık 2015 1.9 sürümünde otomatik parola doğrulama özelliği kullanıma sunuldu.
Ağustos 1 2016 1.10 sürümünde, tam metin arama özelliği eklendi. PostgreSQL başlatıldı.
Nisan 4 2017 1.11 sürümü, bu özelliği destekleyen son sürüm oldu. Python 2.7
2 Aralık 2017 Sürüm 2.0 ilk oldu. Python Sadece 3 sürümü yayınlandı.
Ağustos 1 2018 2.1 sürümü, model "görüntüleme" izni desteği özellikleriyle birlikte geldi.
2021 Django 3.0 desteği kaldırıldı ve Django 3.2 desteği eklendi.

Şimdi bu Django başlangıç ​​rehberinde, Django'nun özelliklerini öğrenelim.

Django'nun Özellikleri

Django'nun özellikleri aşağıdadır:

  • Desenleri tanımlamanıza yardımcı olur. URLBaşvurunuzdaki bilgiler.
  • Basit ama etkili URL sistem.
  • Dahili kimlik doğrulama sistemi.
  • Nesne yönelimli bir programlama diliyle yazılmış, sınıfının en iyisi veri depolama ve erişim çözümleri sunan bir veritabanı.
  • Otomatik yönetim arayüzü özelliği, öğe ekleme, düzenleme ve silme işlevlerini sağlar. Yönetim panelini ihtiyacınıza göre özelleştirebilirsiniz.
  • Önbellek çerçevesi, birden fazla önbellek mekanizmasıyla birlikte gelir.

Bu Django framework eğitiminde, Django'nun özelliklerini öğreneceğiz.

Django'nun Özellikleri

Django'nun temel özellikleri şunlardır:

  • Gevşek bağlanmış – Django, yığınındaki her bir öğenin diğerlerinden bağımsız olmasını sağlar.
  • Less kod – Etkin gelişmeyi sağlar.
  • Tekrarlanmadı – Her şey aynı yerde, tek bir noktada geliştirilmeli, tekrar tekrar yapılmamalıdır.
  • Hızlı gelişme – Django, hızlı ve güvenilir uygulama geliştirme imkanı sunar.
  • Tutarlı tasarım – Django, sade bir tasarıma sahip olup en iyi web geliştirme uygulamalarını takip etmeyi kolaylaştırır.

Django başlangıç ​​eğitimimizin devamında Django'nun mimarisini öğreneceğiz.

Django ArchiYapı: MVC ve MVT

Aşağıda Django'nun detaylı mimarisi gösterilmektedir:

Django Archidoku

Django Archidoku

MVC Kalıbı

Kullanıcı arayüzü (web veya masaüstü) sağlayan uygulamalardan bahsederken genellikle MVC mimarisinden söz ederiz. MVC modeli Model, Görünüm ve Denetleyiciye dayanmaktadır.

MKS Model Veri yapısını tanımlar ve veritabanı sorgulamalarını yönetir.

MKS Görüntüle hangi verilerin sunulması gerektiğini tanımlar ve bir HTTP yanıtı döndürür.

MKS kontrolör Uygulamanın kullanıcı etkileşimini yöneten bölümüdür.

Django MVC-MVT modeli

Model-View-Template (MVT), MVC'ye kıyasla farklı bir kavramdır. Bu iki mimari model arasındaki temel fark, Django'nun Controller kısmını (Model ve View arasındaki etkileşimleri kontrol eden yazılım kodu) kendisinin yönetmesidir. Şablon, Django Şablon Dili dosyası (DTL olarak da adlandırılır) ile karıştırılmış bir HTML dosyasıdır.

Aşağıdaki diyagram, MVT modelinin tüm bileşenlerinin belirli bir kullanıcı isteğini karşılamak için birbirleriyle nasıl etkileşim kurduğunu göstermektedir.

Django ArchiYapı: MVC ve MVT

MVT Archidoku

Yukarıdaki şemada görüldüğü gibi, bir kullanıcı Django'dan bir kaynak talep eder. Django, denetleyici görevi görür ve mevcut kaynağı kontrol eder. URL.

Eğer URL Haritalarda, model ve şablonla etkileşim kuran bir görünüm çağrılır. Ardından Django kullanıcıya yanıt verir ve yanıt olarak bir şablon gönderir.

Yeni başlayanlar için hazırlanan bu Django eğitim serisinde, Django'nun bileşenlerini öğreneceğiz.

Django'nun Bileşenleri

Form

Django, formları HTML olarak işlemeyi sağlayan güçlü bir form kitaplığına sahiptir. Kütüphane, gönderilen verilerin doğrulanmasına ve dönüştürülmesine yardımcı olur. Python türleri.

Doğrulama

Kullanıcı hesaplarını, grupları, çerez tabanlı kullanıcı oturumlarını ve daha fazlasını yönetir.

admin

Sitenizdeki içeriği yönetmek için kullanılabilecek sağlam bir arayüz sağlamak üzere modellerinizdeki meta verileri okur.

Uluslararasılaşma

Django, metinlerin çeşitli dillere çevrilmesi ve tarih, saat, sayı ve saat dilimlerinin yerel ayara özgü biçimlendirilmesi için destek sağlar.

Güvenlik

Django aşağıdaki saldırılara karşı koruma sağlar:

  • Siteler Arası İstek Sahteciliği (CSRF)
  • Siteler arası komut dosyası oluşturma
  • SQL enjeksiyonu
  • Clickjacking
  • Uzaktan kod yürütme

Django Kullanan Ünlü Şirketler

İşte Django kullanan şirketler:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (Kamu Yayın Hizmeti)
  • Pinterest
  • Instagram
  • mozilla
  • Washington Post
  • New York Times
  • Los Angeles Times
  • Guardian
  • National Geographic
  • Discovery Channel

Django kullanmanın dezavantajları

Django kullanmanın bazı dezavantajları şunlardır:

  • Tek bir işlem aynı anda birden fazla isteği işleyemez.
  • Django çok monolitik bir araçtır.
  • Bileşenler birlikte devreye alınır, bu da kafa karışıklığına yol açabilir.
  • Django üzerinde çalışmak için sistemin tamamına dair bilgi sahibi olmak gerekir.
  • Bu durum, web uygulaması bileşenlerini birbirine sıkıca bağlı hale getirir.
  • Küçük görevler için uzun programlamalar yapmanız gerekir.

SSS

Django öncelikle bir arka uç çerçevesidir, ancak şablon katmanı HTML'i oluşturduğu için genellikle tam yığınlı (full-stack) olarak tanımlanır. Sunucu tarafı mantığını, veritabanlarını, yönlendirmeyi ve güvenliği yönetirken, şablonlar tarayıcı için sunumu sağlar.

Django, yerleşik bir ORM, yönetim paneli ve kimlik doğrulama sistemi içeren, her şeyi kapsayan, tam yığınlı bir çerçevedir. Flask ise minimal kalan ve aynı özellikler için uzantılara dayanan, geliştiricilere daha fazla manuel kontrol sağlayan hafif bir mikro çerçevedir.

Django ORM veya nesne-ilişkisel eşleyici, veritabanı tablolarını şu şekilde tanımlamanıza olanak tanır: Python sınıfları ve bunları sorgulayın Python SQL sorguları yerine kod kullanır. Aşağıdaki gibi veritabanlarını destekler: PostgreSQL, MySQL, SQLite, ve Oracle.

Komut satırında `python -m django –version` komutunu çalıştırın veya bir dosya açın. Python Shell komutunu çalıştırın ve `import django` ardından `print(django.get_version())` komutunu çalıştırın. Her iki komut da yüklü Django sürüm numarasını görüntüler.

Ara katman yazılımı (middleware), her isteği ve yanıtı küresel olarak işleyen bir dizi kancadır. Django, oturumlar, kimlik doğrulama, CSRF koruması ve güvenlik başlıkları için ara katman yazılımı kullanır ve bunların her biri, görünümünüz çalıştırılmadan önce ve sonra sırayla çalışır.

Bir çalışma bilgisi Python Ayrıca HTTP, HTML ve veritabanları gibi temel web kavramlarına da hakim olmak gereklidir. Nesne yönelimli programlamayı anlamak, Django modellerini ve sınıf tabanlı görünümleri öğrenmeyi çok daha kolaylaştırır.

Evet. Django, makine öğrenimi modellerini sıklıkla görünümler veya Django REST Framework aracılığıyla sunar ve tahminleri API uç noktaları olarak ortaya koyar. Eğitilmiş bir model, başlangıçta bir kez yüklenir ve çıkarım sonuçlarını web veya mobil istemcilere döndürür.

GitHub Copilot ve benzeri yapay zeka asistanları, Django modellerini, görünümlerini otomatik olarak tamamlar, URL Kalıplar ve testler, tekrarlayan şablon kodlarının iskeletini oluşturabilir. Geliştirmeyi hızlandırırlar, ancak oluşturulan kod her zaman güvenlik ve doğruluk açısından incelenmelidir.

Bu yazıyı şu şekilde özetleyin: