İşlev Görünümlerinden Görünüm Sınıflarına
CBV'lerin neden var olduğunu ve ne zaman kullanılacağını öğrenin.
İşlev Görünümlerinden Görünüm Sınıflarına, CoddyKit'te ücretsiz bir Django Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Django Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Django Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Two Ways to Build Views
So far your views were plain functions. Django also lets you write views as classes, which package related logic together neatly.
What a Class-Based View Is
A class-based view (CBV) is just a Python class that handles a request. Django turns it into a callable for you behind the scenes.
The Repetition Problem
Function views often repeat the same shape: fetch data, build context, render a template. CBVs let you reuse that shape instead of copying it.
A Function View, For Contrast
Here is a familiar function view. It takes a request and returns a response, all in one block.
def home(request):
return render(request, "home.html")The Same View as a Class
As a class, you subclass View and define a method per HTTP verb. The logic is the same, just organized differently.
class HomeView(View):
def get(self, request):
return render(request, "home.html")Methods Map to HTTP Verbs
In a CBV, a get method handles GET requests and a post method handles POST. No more giant if-checks on request.method.
Inheritance Means Reuse
Because CBVs are classes, you can subclass and override only what changes. Shared behavior lives in a parent class once.
Django Ships Generic Views
Django includes ready-made generic views like ListView and DetailView. They cover common patterns so you write almost no code.
When Functions Still Win
For a tiny, one-off view, a function is often clearer. Reach for CBVs when logic repeats or grows complex.
Both Plug Into urls.py
Both styles get wired the same way in urls. A CBV just needs as_view() to become a callable Django can route to.
path("", HomeView.as_view())Pick the Right Tool
CBVs are not better or worse, just different. Choose based on reuse: repeated patterns favor classes, simple pages favor functions.
Quick Check
What is the main reason class-based views exist?
Recap: Functions vs Classes
You met class-based views: classes that handle requests, map methods to HTTP verbs, and reuse logic through inheritance. Great when patterns repeat. 🎯
Sıkça Sorulan Sorular
“İşlev Görünümlerinden Görünüm Sınıflarına” dersi ücretsiz mi?
Evet — “İşlev Görünümlerinden Görünüm Sınıflarına” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Django Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Django Academy kursu toplamda 4 dersten oluşur.
“İşlev Görünümlerinden Görünüm Sınıflarına” dersinde ne öğreneceğim?
CBV'lerin neden var olduğunu ve ne zaman kullanılacağını öğrenin. Django Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Django Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Django Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“İşlev Görünümlerinden Görünüm Sınıflarına” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Django Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Django Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İşlev Görünümlerinden Görünüm Sınıflarına
- TemplateView ve get_context_data
- get ve post Yöntemlerini Ele Alma
- Mixin'ler ve as_view()