Django ile Web Uygulamaları Geliştirmeye Başlamak

Django ile Web Uygulamaları Geliştirmeye Başlamak

Django ile Web Uygulamaları Geliştirmeye Başlamak, web geliştirme dünyasına yepyeni bir başlangıç yapmanız için mükemmel bir seçimdir Django ile hızlı, güvenli ve ölçeklenebilir uygulamalar geliştirin Üstelik, bu kitap Türkçe olarak sizlerle!

Django ile Web Uygulamaları Geliştirmeye Başlamak

Django, Python dilinde öncelikle web uygulamaları geliştirmek için kullanılan açık kaynak kodlu bir çatıdır. Django, geliştiricilerin web uygulamaları oluşturmak için kullanabileceği birçok özellik sunar. Django, veritabanı yönetimi, URL yönetimi, templating vb. özellikleri ile tanınmaktadır.

Bu makale, Django ile web uygulamaları geliştirmek için gerekli olan adımları ele alacak. Django'nun nasıl kurulacağından, uygulamanın nasıl oluşturulacağına kadar her adım adım açıklanacaktır. Ayrıca, templating, veritabanı yönetimi, URL yönetimi vb. gibi temel özellikler de ele alınacaktır.


Django Nedir?

Django, web uygulamaları geliştirmek için kullanılan açık kaynaklı bir Python çatısıdır. Django, yüksek trafikli web siteleri oluşturmak için geliştirilmiştir ve güçlü bir MVC (Model-View-Controller) yapısına sahiptir. MVC yapısı, programcının kodun farklı bölümlerini birbirinden ayırmak için kullanabileceği bir sistemdir. Bu sayede, web uygulamasının yapısını daha iyi anlamak ve daha kolay bir şekilde yönetmek mümkündür.

Django, "Don't Repeat Yourself" (DRY) prensibi ile uyumludur. Bu prensip, kodun tekrarlanmaması ve daha az kod yazılması ilkesini ifade etmektedir. Bu sayede, Django ile daha hızlı ve daha az hata ile web uygulamaları geliştirilebilir.

Django aynı zamanda, güvenlik açısından da önemli bir çatıdır. Django, saldırılara karşı korunmak için otomatik olarak olası güvenlik açıklarını kapatır. Bu sayede, programcıların güvenlikle ilgili endişeleri azaltılır ve daha sağlam bir web uygulaması geliştirilebilir.


Django Kurulumu

Django, web uygulamaları geliştirmek için oldukça kullanışlı bir açık kaynaklı Python çatısıdır. Django ile web uygulamaları geliştirmeye başlamadan önce, öncelikle Django'nun bilgisayarınıza yüklenmesi gerekmektedir. Django'yu kurmak için ise Python dilinin bilgisayarınıza yüklenmesi önemlidir.

Python dilini yüklemek oldukça kolaydır. Resmi Python web sitesinden indirme işlemini gerçekleştirerek Python'un son sürümünü indirebilirsiniz. Python'u bilgisayarınıza yükledikten sonra, sıra Django'nun yüklenmesine gelir. Django'nun bilgisayarınıza yüklenmesi için iki farklı yöntem kullanabilirsiniz. Bunlardan biri, pip kullanarak yüklemedir. Pip, Python dilinde kurulumları yönetir ve Django'nun yüklenmesi için oldukça kullanışlıdır. İkinci yöntem ise Django resmi web sitesinden indirme işlemidir. Hangi yöntemi seçerseniz seçin, Django'nun kolaylıkla yüklenebileceğini unutmayın.


Python Dilini Yükleme

Python dilini bilgisayarınıza yüklemek için öncelikle resmi Python web sitesine girip indirme işlemini gerçekleştirmelisiniz. Python'un son sürümü, web sitesinde yer almaktadır. İndirme işlemi bitene kadar sabırlı olmanız gerekiyor.

Python'u indirdikten sonra, çalıştırılabilir dosyalarının oluşturulması gerekmektedir. Bunun için, kurulum sırasında belirtilen adımlar takip edilerek, Python dilinin tüm özelliklerinin yer aldığı yolu seçmeniz gerekiyor. Ardından, yüklenen Python sürümü için bir IDE uygulaması seçilebilir.

Python dilini yüklerken, bilgisayarınızdaki işletim sistemi bilgilerinin doğru olması gerekmektedir. Ayrıca, Python dilinde yazma konusunda yardıma ihtiyacınız olursa, Python'ın resmi web sitesinde dökümanlara ulaşarak, öğrenmek istediğiniz konu hakkında bilgi alabilirsiniz.


Django'nun Yüklenmesi

öncelikle Python dilinin bilgisayarınızda yüklü olması gerekmektedir. Eğer Python dilini zaten yüklemişseniz, Django'yu yüklemek için iki farklı yöntem mevcuttur. İlk yöntem, komut satırından pip install django komutunu kullanmaktır. Bu yöntem ile Django, Python paketler arasından otomatik olarak indirilip yüklenecektir. İkinci yöntem ise, resmi Django web sitesinden indirme işlemidir. Bu yöntem ile, kendinize uygun olan sürümü seçerek kolayca indirip kurulum işlemini gerçekleştirebilirsiniz. Django'nun yüklendiğinden emin olmak için, komut satırında python -m django --version komutunu kullanarak sürüm numarasını görebilirsiniz.

pip

Pip, Python dilindeki bir paket yöneticisidir ve Django'nun kurulumu için de kullanılır. Bu araç, gerekli bağımlılıkların indirilmesini ve yüklenmesini kolaylaştırarak, Django projesinin hızlı bir şekilde kurulmasını sağlar. Kullanımı oldukça basittir, yalnızca pip install django komutunu kullanarak Django'yu bilgisayarınıza yükleyebilirsiniz.

Pip'te bulunan paketler, PyPI (Python Package Index) adlı online bir kütüphane aracılığıyla sunulur. Bu kütüphane sayesinde, Python geliştiricileri kendi yazdıkları paketleri paylaşabilirler ve diğer geliştiricilerin kullanımına açabilirler. Pip, bu paketleri basit bir şekilde indirip yükleyebilmenize olanak tanır.

Pip'in diğer bir avantajı, birden fazla projede kullanılan paketlerin kolay bir şekilde yönetilmesini sağlamasıdır. Bir yapılandırma dosyası kullanarak, proje özel paketlerin otomatik olarak yüklenmesini sağlayabilirsiniz.

kullanarak veya Django resmi web sitesinden indirme işlemini gerçekleştirebilirsiniz.

Django'nun bilgisayarınıza yüklenmesi için iki seçeneğiniz bulunuyor. İlk seçenek, pip kullanarak yüklemek. Eğer Python dilini bilgisayarınıza yüklediyseniz, pip aracılığıyla Django'yu kolayca yükleyebilirsiniz. Bunun için terminal veya komut istemi üzerinden şu komutu girin:

Windows: pip install Django
Mac/Linux: sudo pip3 install Django

İkinci seçenek ise Django resmi web sitesinden indirerek yüklemek. Bu seçenek için resmi web sitesine girerek son sürümü indirmeniz gerekmektedir. İndirdikten sonra, sıkıştırılmış dosyayı çıkararak belirtilen adımları takip edin.


Django ile Web Uygulaması Oluşturma

Django ile web uygulamaları oluşturmak için ilk adım, bir proje oluşturmaktır. Bu proje, içindeki uygulamalar ve ayarlar ile birlikte, Django tarafından yönetilecek şekilde yapılandırılacaktır. Django'nun komut satırı arayüzü üzerinden "django-admin startproject" komutunu kullanarak bir proje oluşturabilirsiniz. Bu komutla beraber proje ismi, oluşturulacak dosyaların şablonu, yönetim uygulaması için gerekli dosyalardan oluşan bir proje oluşturulur.

Bir Django projesinde farklı işlevlere sahip uygulamalar oluşturmak mümkündür. Bu uygulamalar, projenin alt dizinlerinde saklanır. "python manage.py startapp" komutunu kullanarak farklı uygulamalar ekleyebilirsiniz. Bu uygulamalar, veri tabanı işlemlerinden kullanıcı yönetimine kadar birçok farklı alanda içerik sunabilir.


Proje Oluşturma

Django ile web uygulamaları geliştirmeye başlamak için öncelikle bir proje oluşturmanız gerekmektedir. Bu işlemi gerçekleştirmek için, django-admin startproject komutu kullanabilirsiniz. Bu komutu kullanarak, projeniz için bir temel şablon oluşturabileceğiniz gibi settings.py, urls.py vb. gibi dosyalar da oluşturabilirsiniz.

Proje oluşturulduktan sonra, projenizin ihtiyaç duyduğu farklı işlevlere sahip uygulamalar oluşturabilirsiniz. Bunun için ise python manage.py startapp komutunu kullanabilirsiniz. Bu komutu kullanarak, projeniz için farklı uygulamalar oluşturabilir ve ihtiyaçlarınıza göre bu uygulamaları geliştirebilirsiniz. Oluşturulan uygulamalar, projenizdeki modüler yapıyı destekleyerek kolayca yönetmenizi sağlar.

Projeniz ve uygulamalarınız oluşturulduktan sonra, artık Django ile web uygulamaları geliştirmeye hazırsınız. Django'nun sunduğu özellikler sayesinde, geliştirdiğiniz uygulamaların güvenliği, performansı ve kullanılabilirliği daha da artacaktır.

django-admin startproject

Django projesi oluşturmak için terminal veya komut istemcisini kullanabilirsiniz. Öncelikle, projenin oluşturulacağı klasörün belirlenmesi gerekmektedir. Daha sonra, aşağıdaki komut çalıştırılarak yeni bir Django projesi oluşturulabilir:

Komut Açıklama
django-admin startproject myproject Yeni bir Django projesi olan myproject oluşturulur.

Bu komut, myproject adlı bir ana dizin oluşturur ve proje için gerekli dosyaları içerir. Bu klasör, Django projesinin temel dizinidir ve projenin ayarlarını barındıran settings.py, ana uygulama ile ilgili verileri barındıran urls.py dosyası gibi önemli dosyalar içerir.

Bu noktadan sonra, yeni Django projesinin geliştirilmesine başlanabilir. Birden çok uygulama ile aynı projede çalışılabilir ve Django, tüm uygulamaları ortak bir çatı altında yönetmenizi sağlar.

komutunu kullanabilirsiniz.

Django projesi oluştururken, terminal üzerinden django-admin startproject komutunu kullanabilirsiniz. Bu komut proje dosyalarını oluşturarak, proje isminizi parametre olarak alır ve Python script'lerini yükler. Django projelerinde istediğiniz kadar uygulama oluşturabilirsiniz, ancak komutu çağırdığınız dizinde proje ismiyle ana dizin oluşur. Bu ana dizin, oluşturulan Django projesini içerir.

Django'da uygulama oluşturmak için de farklı bir komut kullanılır. python manage.py startapp komutu kullanılarak yeni bir uygulama oluşturabilirsiniz. Uygulama oluşturulduktan sonra, Django'ya eklenebilir ve Web uygulamalarının çoğu işlevini ifade eden model, view, urls ve template dosyaları oluşturulabilir.

Aynı şekilde birkaç uygulama oluşturmak ve projeyle birleştirmek, Django projesinde bitmek bilmeyen bir uygulama gelişim sürecine başlamanızı sağlayabilir. Bu komutlarla ilgili daha fazla bilgi için resmi Django belgeleri kullanılabilir.


Uygulama Oluşturma

Django projesi oluşturulduktan sonra, farklı işlevlere sahip birden fazla uygulama oluşturulabilir. Bu şekilde, projenin kolay bir şekilde yönetilmesi sağlanır ve farklı uygulamaların kodları birbirinden ayrı tutularak daha düzenli bir çalışma ortamı oluşturulur.

Uygulama oluşturmak için, python manage.py startapp komutu kullanılabilir. Bu komut, proje dizininde yeni bir klasör oluşturacak ve bu klasörün içine uygulamaya ait gerekli dosyaları yerleştirecektir. Oluşturulan uygulama, proje içindeki INSTALLED_APPS ayarı içinde tanımlanmalıdır.

Bu şekilde birden fazla uygulama oluşturularak, her uygulama farklı bir işlevi yerine getirebilir veya bir bütün olarak projede bir işlevi yerine getirirler.

python manage.py startapp

python manage.py startapp

python manage.py startapp komutu, Django projesinde farklı işlevlere sahip uygulamalar oluşturmak için kullanılmaktadır. Bir projede birden fazla uygulama oluşturarak, uygulamaların bağımsız bir şekilde çalışmasını sağlayabilirsiniz.

Bu komutun kullanımı oldukça basittir. Öncelikle, oluşturmak istediğiniz uygulamanın adını belirleyin. Daha sonra, aşağıdaki komutu terminale girin:

Komut Açıklama
python manage.py startapp uygulama_adı Yeni bir Django uygulaması oluşturmak için kullanılır.

Böylece, belirtilen uygulama adıyla bir klasör oluşturulacak ve içerisinde uygulama dosyaları yer alacaktır. Aynı zamanda, uygulamanın settings.py dosyasına otomatik olarak eklenmesi sağlanacaktır.

komutu kullanılabilir.

Django projesinde, farklı işlevlere sahip uygulamalar oluşturulabilir. Uygulama oluşturma işlemi için python manage.py startappkomutu kullanılır.

Bu komutu kullanarak uygulamanın ismini belirleyebilirsiniz. Ayrıca, uygulama oluşturma işlemi için birkaç özellikli argüman daha kullanabilirsiniz. Bu argümanlar ile uygulamanın özellikleri belirlenir. Örneğin, uygulamanın içinde statik dosyaların bulunup bulunmayacağı belirlenebilir veya admin panelinin kullanılması istenip istenmediği ayarlanabilir.

Uygulama oluşturma işlemi tamamlandıktan sonra, uygulama içindeki modellerle çalışabilir, verileri düzenleyebilir ve siteye yeni özellikler ekleyebilirsiniz.


Templating

Templating, web uygulamalarını oluştururken tekrarlayan kodu azaltmak ve statik sayfaların birbirinden ayrılabilmesini sağlamak için kullanılan bir kavramdır. Django'da template dosyaları .html uzantısı ile oluşturulmaktadır. Bu dosyalar, dinamik içeriği ifade etmek için değişkenler ve şablon tag'leri kullanılır.

Bunun için Django, Template Language olarak bilinen bir şablon diline sahiptir. Template tag'leri, Django'da template dosyalarında basit işlemler yapmak için kullanılan komutlardır. Bu tag'ler, döngüler, koşullar, değişkenler ve filtreler için kullanılabilir. Bu sayede, web sayfalarının görüntüsü ve içeriği, daha basit bir şekilde yönetilerek farklı şablonlar oluşturulabilir. Ayrıca, bu sayede sayfaların güncellenmesi de daha kolay ve hızlı hale gelir.

Django'da kullanılan tag'ler, HTML tag'lerine benzese de, birçok farklılıkları da bulunmaktadır. Örneğin, {% %} arasına yazılan tag'ler, HTML dosyasında doğrudan görüntülenmez ve yalnızca Django tarafından yorumlanır. Bu sayede, kullanıcı veya saldırganların güvenliği sağlanmış olur. Ayrıca, bu tag'ler arasına Python kodu da yazarak daha dinamik web sayfaları oluşturulabilir.

Django'da kullanılan şablon motoru, hem bulunan verilerin, hem de belirli bir şablonun eşleştiği belirlediği bir mekanizmayı kullanarak, farklı sayfaların oluşturulmasına olanak tanır. Bu da web sayfalarının genişletilmesini ve daha kompleks hale getirilmesini sağlar. Kısacası, Django'nun sunduğu templating özelliği, web uygulaması oluşturmanın en temel ve önemli yönlerinden biridir.


Template Dosyaları

.html uzantısı ile oluşturulmaktadır. Bu dosyalar, HTML ve Django'nun kendi template dilini kullanarak oluşturulabilir. Template dosyalarındaki veriler, view fonksiyonlarından parametre olarak gönderilebilir veya modellerdeki verilerin kullanılması için kullanılabilir. Django'daki template dosyaları, {% %} ile başlayan komutlar, {{ }} ile başlayan ifadeler ve {% extends %}, {% block %} ve {% include %} gibi özel etiketler içerebilir. Bu özel etiketler, şablonlara özgü işlevlerle donatılmıştır ve web uygulamalarının dinamik olmasını sağlarlar. Template dosyaları genellikle proje dizininin içindeki "templates" klasöründe saklanır ve uygulamanın farklı bölümlerinde kullanılır. Şablon dilinde kullanılan {% extends %} komutu, bir üst şablon dosyasından özellikler alarak tekrar kullanılabilir şablonlar oluşturmanızı sağlar. {% block %} komutu ise, şablonun belirli kısımlarında özelleştirme yaparak uygulamanın farklı yönlerini temsil edebilir. Django'da template dosyaları, web uygulamasının tasarımında da büyük bir rol oynar ve uygun kullanıldığında şık ve kullanıcı dostu arayüzler oluşturmanızı sağlar.

.html

.html dosyaları, web sayfalarında kullanılan en temel yapı taşlarından biridir. Bu dosyalar, web sayfalarının içeriklerini düzenlemek için kullanılır. HTML (Hypertext Markup Language), web sayfalarının görsel ve yapısal ögelerinin tanımlanabilmesini sağlar.

HTML ile web sayfalarının formatları belirlenir, resimler eklenir, bağlantılar oluşturulur ve tablolar düzenlenir. Bu sayede web sayfaları, ziyaretçiler tarafından daha kolay okunabilir ve anlaşılabilir hale gelir.

Bir .html dosyası, metin düzenleyicileri kullanılarak kolayca oluşturulabilir. Bu dosyalar, web sayfasına eklenmek istenen içeriklerin belirli bir format içerisine yerleştirilmesiyle oluşturulur. HTML etiketleri kullanılarak, içeriklerin font boyutu, rengi, hizalaması ve diğer özellikleri belirlenir.

HTML dosyaları, web sayfalarındaki content (içerik) kısmını ifade eder. Bu kısımda ziyaretçilere aktarılacak tüm bilgiler yer alır ve kullanıcılara görsel bir deneyim sağlanır. HTML dosyaları ile birlikte CSS ve JavaScript kullanılarak, web sayfaları daha da zengin bir hale getirilebilir.

HTML kodlaması, web tasarımının temel yapısıdır. İyi bir HTML kodlaması, web sayfasının performansını ve hızını artırır. Ayrıca, arama motorları tarafından daha iyi taranabilir olmasını da sağlar. Bu nedenle, bir web sayfası tasarlarken, .html dosyalarına özen göstermek gerekmektedir.

uzantısı ile oluşturulmaktadır.

Django'da, template dosyaları .html uzantısı ile oluşturulmaktadır. Bu dosyalar, web uygulamalarındaki farklı sayfaların görünümünü belirlemek için kullanılır. Template dosyaları, HTML kodu, CSS stilleri ve template tag'leri ile oluşturulur. Django, templates dosyalarının hızlıca render edilmesini sağlayan bir Template system sunar. Bu sayede, kullanıcılar web uygulamalarını hızlı bir şekilde yükleyebilirler. Ayrıca, bir web uygulamasının template'lerinde yapılan değişiklikler, tüm sayfalara otomatik olarak yansır.


Template Tags

Django'da, template dosyalarında kullanılabilen birçok template tag'i bulunmaktadır. Bu tag'ler sayesinde, template dosyalarında basit işlemler yapmak mümkündür. Örneğin, bir değişkenin içeriğini yazdırmak, liste elemanlarını tek tek yazdırmak veya içerikleri kontrol etmek gibi.

Bu tag'leri kullanırken, genellikle {% ve %} arasına alınır ve tag'in işlevi bu parantezler arasına yazılır. Örneğin, {% for %} tag'i bir döngü oluşturmak için kullanılabilir. Bunun yanı sıra, {% if %} tag'i kullanarak, belirli bir koşulu kontrol edebilir ve özel durumlar için özel işlemler yapabilirsiniz.

Birçok template tag'i vardır ve bu tag'leri kullanarak, web uygulamalarınızın görünüm ve işlevselliğini geliştirebilirsiniz. Bu tag'lerin kullanımı, belirli bir syntax'e bağlı olduğundan, doğru bir şekilde kullanmak için örnekleri inceleyip, syntax'ı anlamak önemlidir.


Veritabanı Yönetimi

Object Relational Mapping (ORM) sistemi ile bilinen bir web uygulama çatısıdır. Bu sistem, verileri Python nesneleri olarak ifade ederek veritabanına erişimi kolaylaştırır. Django'daki modeller, veritabanı tablolarının Python nesneleri olarak ifade edilmesi için kullanılır. Bu modeller, veritabanı işlemleri için kullanılan metodları da içerir. Ayrıca, Django'nun sunduğu özelliklerden biri de kullanıcı panelini oluşturmak için kullanılan admin panelidir. Bu panel, veritabanına erişim sağlayarak kullanıcıların kaydedilmesine veya silinmesine olanak tanır. Bu sayede, veritabanı yönetimi kolay ve güvenlidir. Django ile veritabanı işlemlerini yönetmek, web uygulama geliştirirken oldukça avantajlıdır.

Object Relational Mapping

Object Relational Mapping (ORM) sistemleri, web uygulamalarında sıklıkla kullanılan bir veritabanı yönetim tekniğidir. Django, ORM sistemleriyle bilinen bir web uygulama çatısıdır. ORM kısacası, nesne yönelimli programlama (OOP) tekniklerini kullanarak veritabanlarını yönetmeye olanak tanır. Django'daki ORM sistemi, veritabanındaki tabloları Python nesneleriyle temsil eder ve programcılar için kolay bir veritabanı yönetimi sağlar.

Modellerin (models) kullanımı, Django'da ORM sisteminin temelini oluşturur. Veritabanında oluşturulacak tablolar, Python kodlarıyla modele edilir. Django'nun ORM sistemi, SQL'ten bağımsız bir şekilde çalıştığından dolayı, programcıların SQL bilgisi olmadan da veritabanı işlemlerini gerçekleştirmelerine olanak tanır. Bu sayede, veritabanı işlemlerinde yapılan hataların minimize edilmesi sağlanır.

(ORM) sistemi ile bilinen bir web uygulama çatısıdır.

Django, veritabanı yönetimi için sunduğu Object Relational Mapping (ORM) sistemi ile bilinen bir web uygulama çatısıdır. Bu sistem, veritabanı işlemlerini yapmak için kullanıcıların SQL dilini bilmeleri gereksinimini ortadan kaldırır. Bunun yerine, kullanıcılar, Python dilindeki nesneler üzerinden veritabanı işlemlerini gerçekleştirebilirler.

Django ORM, veritabanı işlemleri için kullanılan farklı sorgu tipleri ile uyumludur. Bu sorgu tipleri arasında filtreleme, veri ekleme, güncelleme ve silme işlemleri yer almaktadır. Django ORM, veritabanı tablolarının Python sınıflarını temsil eden veri modelleri ile çalışır. Bu modeller, model içindeki alanların özelliklerini belirleyen Python sınıflarıdır. Örneğin, bir kullanıcı modeli içinde ad, soyad ve e-posta gibi alanlar tanımlanabilir.

Django ORM, veritabanı işlemlerinin yanı sıra veritabanı tabloları arasındaki ilişkilerin yönetilmesine de olanak tanır. Bu ilişkiler, model içindeki alanların tipine bağlı olarak tanımlanır. Örneğin, bir sipariş modelindeki müşteri alanı, başka bir model içindeki müşteri alanı ile ilişkilendirilebilir. Bu sayede, veritabanı tabloları arasındaki bağlantılar daha kolay bir şekilde yönetilebilir.


Models

Django'daki modeller, veritabanı tablolarının Python nesneleri olarak ifade edilmesi için kullanılmaktadır. Model, verileri mantıksal olarak gruplar ve her grubu bir veritabanı tablosuna karşılık gelen bir modülle eşleştirir. Bu modellerle, veritabanına bağlantı kurmak için herhangi bir SQL kodlama bilgisine gerek kalmadan, Python sınıflarını kullanarak veri modellemesi yapılabilir.

Django'daki modeller, veritabanına değişiklik yapmak için de kullanılabilir. Migration adı verilen ve veritabanı tablolarının değiştirilmesi veya güncellenmesi işlemlerini yapabilen özellikleri sayesinde, kullanıcılara büyük kolaylıklar sağlar. Modellerin, kodların daha sade ve anlaşılabilir olması bakımından büyük önemi vardır. Bu sayede, hem programcılar hem de proje ekibi birlikte çalışarak, daha verimli ve hızlı bir şekilde web uygulaması geliştirebilirler.


Admin Paneli

Django, kullanıcıların kaydını ve silinmesini içeren bir web uygulaması oluşturma sürecinde kolaylıklar sağlar. Bu kolaylık, Django'nun sunduğu özelliklerden biri olan admin paneli ile sağlanır. Bu özellik, kullanıcı arayüzü oluşturmak yerine web sitesindeki veritabanını doğrudan yönetmeyi mümkün kılar.

Django admin paneli sayesinde kullanıcılar, web sitesindeki tüm verileri doğrudan yönetebilirler. Bu, veritabanı işlemlerini kolaylaştırır ve karmaşık kod yazmaya gerek kalmadan hipervincilere bağlı olarak kullanıcılara ara yüz sağlar. Bu ara yüz, web sitesinin veri tabanı kayıtlarını kolayca yönetmenize olanak tanır.

Django'nun admin paneli, veritabanı işlemlerini sadece ileri düzey programcılar için değil, orta düzey programcılar ve hatta acemi kullanıcılar için bile kolay hale getirir. Bu sayede birden fazla kullanıcının kaydıyla uğraşmak yerine, tüm verilerin tek bir yerde yönetilmesini mümkün kılar. Admin paneli, oluşturulan bir web sitesindeki veritabanını yönetmek için önemli bir araçtır ve Django'nun bu özelliği sayesinde web sitesi yönetimi daha kolay hale gelir.


URL Yönetimi

urls.py dosyası kullanılmaktadır. Bu dosyada, belirli URL'lerin hangi view ("görünüm") fonksiyonuna bağlandığı tanımlanır. Ayrıca, kodun temizliği için URL yönetimi, uygulamanın görünümleri ile ayrı tutulur. Yani, her bir uygulamanın kendi urls.py dosyası vardır ve ana proje urls.py dosyası bu uygulamaların URL'lerini bir araya getirir.

URL pattern'leri, URL'leri yönetmek için kullanılan kalıplardır. Django, URL pattern'leri oluşturmak için Regular Expression ("Düzenli İfade") kullanır. Gelen isteklerin hangi view fonksiyonuna yönlendirildiğini belirlemek için, urlpatterns listesinde bir dizi URL kalıbı ve bunların eşleştiği view fonksiyonları belirtilir. Ayrıca, URL pattern'leri, HTTP metodu, yani GET, POST, PUT ve DELETE gibi belirli metotlar ile eşleştirilebilir.

Örneğin, bir blog uygulaması için URL pattern'leri şöyle olabilir:

  • /blog/ : Tüm blog yazılarını listeler
  • /blog// : Belirli bir id'ye sahip blog yazısını gösterir
  • /blog/create/ : Yeni bir blog yazısı oluşturma sayfasını gösterir
  • /blog//edit/ : Belirli bir id'ye sahip blog yazısını düzenleme sayfasını gösterir
  • /blog//delete/ : Belirli bir id'ye sahip blog yazısını siler

Bu örneklerin belirli kalıpları bulunmaktadır. Örneğin, "" bir integer tipinde "post_id" adlı bir değişkeni belirtir. Bu şekilde, kalıplar belirli bir formatta oluşturularak, URL yönetimi kolay ve temiz bir şekilde yapılabilir.

urls.py

Django'da URL yönetimi, urls.py dosyası kullanılarak gerçekleştirilir. Bu dosya, Django uygulamanızdaki tüm URL pattern'lerini yönettiğiniz yerdir. urls.py dosyası, şunları içerir:

  • Projeninurl'leri
  • Uygulamanın URL pattern'leri
  • Harici URL pattern'leri

URL pattern'leri, URL'leri yönetmek için kullanılan kalıplardır. Tarayıcı adres çubuğuna girilen URL, projenizde tanımlanan URL pattern'leri ile eşleştirilir ve uygun bir görünümle sonuçlanır.

Bir URL pattern'i, path() veya re_path() işlevlerinden biriyle oluşturulabilir. path(), genellikle basit URL'ler oluşturmak için kullanılırken re_path(), daha karmaşık URL'ler için kullanılır.

path()re_path()Açıklama
path('contact/', views.contact, name='contact')re_path(r'^contact/$', views.contact, name='contact')views.contact görünümüne gidilir ve 'contact' olarak adlandırılır.
path('articles//', views.year_archive, name='year-archive')re_path(r'^articles/(?P<year>\d{4})/$', views.year_archive, name='year-archive')views.year_archive görünümüne gidilir ve year argümanı olarak yıl verilir ve 'year-archive' olarak adlandırılır.

Bir URL pattern'ini tanımlarken, bir görünüme veya başka bir URL pattern'ine yönlendirebilirsiniz. Ayrıca, URL pattern'ini adlandırabilirsiniz. Bu, görünümler arasında yönlendirme yaparken veya şablonlar oluştururken URL'leri tanımlarken faydalıdır.

Özel URL pattern'leri de tanımlayabilirsiniz. Örneğin, Django'da bir HTTP 404 hatası yakalamak ve özel bir sayfada görüntülemek isterseniz, aşağıdaki gibi bir URL pattern'i tanımlayabilirsiniz:

{% verbatim %}handler404 = 'example.views.my_custom_page_not_found_view'{% endverbatim %}

handler404, Django tarafından kullanılan bir isimdir ve 404 hatası yakalandığında hangi görünümün çağrılacağını tanımlayan bir ayar dosyasıdır.

dosyası kullanılmaktadır.

Django'da, URL yönetimi için urls.py dosyası kullanılmaktadır. Bu dosyada URL pattern'leri belirtilerek, yönlendirmeler yapılır. Bu sayede kullanıcılar, URL'leri kontrol ederek farklı sayfalara yönlendirilebilirler. URL pattern'leri, re_path veya path fonksiyonları kullanılarak tanımlanabilir. Bu fonksiyonlar, URL pattern'lerinin belirlenmesinde farklı yaklaşımlar sunarlar.

Örneğin, bir URL pattern'i belirlemek için re_path fonksiyonu kullanılabilir. Bu fonksiyon, URL'lerin regular expression'larını kullanarak şekillendirilmesine olanak sağlar. Ayrıca, re_path fonksiyonu ile URL'lerde parametreler belirtilerek, dinamik URL'ler oluşturmak da mümkündür.

Öte yandan, path fonksiyonu ile belirli bir URL path'i tanımlanabilir. Bu fonksiyon, dinamik URL'ler oluşturmak için kullanılmaz. Ancak, path fonksiyonu ile URL pattern'leri daha düzenli ve anlaşılır bir şekilde oluşturulabilir.

URL yönetimi, Django'da oldukça önemli bir konudur. Bu nedenle, bu dosyanın doğru bir şekilde oluşturulması ve düzenlenmesi, web uygulamalarının iyi bir şekilde yönetilmesi için son derece önemlidir.


URL Pattern'leri

Django'da URL yönetimi, urls.py dosyası kullanılarak sağlanmaktadır. Bu dosya, web uygulamasında kullanılan URL pattern'lerini belirleyen dosyadır. URL'ler arasındaki yönlendirmeyi sağlar ve kullanıcının URL'yi doğru bir şekilde yazmasını sağlar.

URL pattern'leri, Django'nun tanımlanmış olan URL kalıplarıdır. Bu kalıplar, web uygulamasının ana sayfasından diğer sayfalara kadar kullanımı farklılık gösterebilir. URL pattern'leri, urlpatterns listesi içinde url() fonksiyonu ile tanımlanabilir.

  • Static: Bu pattern, herhangi bir URL kalıbı olmadan sabit olan bir sayfaya yönlendirir.
  • Dynamic: Bu pattern, dinamik URL kalıpları için kullanılır. URL'nin parçalarını karşılaması gereken parametreleri belirtir.
  • Regex: Bu pattern, URL'leri belirlemek için düzenli ifadeleri kullanır. Yani, URL'ye göre belirli bir kalıp oluşturulur.

Django'da URL yönelendirmeleri ve URL pattern'lerinin kullanımı, web uygulamasının doğru şekilde çalışmasını sağlar. Doğru kalıpları kullanarak, kullanıcıların yönlendirilmesi kolaylaştırılabilir ve uygulamanın işlevselliği arttırılabilir.