Görünümler ve URL'ler
İstekleri görünümlere yönlendirin
Görünümler ve URL'ler, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. 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, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Görünüm Nedir?
Django'da bir görünüm, bir web isteği alan ve web yanıtı döndüren bir işlev veya sınıftır. Görünümler, sayfa mantığınızı içerir ve bir uygulamanın views.py dosyasında bulunur.
from django.http import HttpResponse
def home(request):
return HttpResponse('Hello, world!')
print('A view takes request, returns response')request Bağımsız Değişkeni
Her görünüm, gelen istekle ilgili yöntem, GET/POST verileri, kullanıcı ve daha fazlası gibi ayrıntıları içeren bir request nesnesi alır.
from django.http import HttpResponse
def info(request):
return HttpResponse('Method: ' + request.method)
print('request carries the incoming data')URL Kalıpları
Bir uygulamanın urls.py dosyası, urlpatterns adlı bir liste ve path() işlevini kullanarak URL yollarını görünümlerle eşleştirir.
# blog/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home),
]
print('path maps a URL to a view')URL'leri Adlandırma
Bir yolu sabit olarak yazmadan başka yerlerde ona başvurabilmek için kalıba bir name verin.
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
print("name='home' lets you reference it later")URL Parametreleri
<int:post_id> gibi dönüştürücülerle URL'nin bölümlerini yakalayın. Yakalanan değer görünüme aktarılır.
from django.urls import path
from . import views
urlpatterns = [
path('post/<int:post_id>/', views.detail, name='detail'),
]
print('post/5/ -> detail(request, post_id=5)')Parametreyi Okuma
Yakalanan değer, dönüştürücünün adıyla eşleşen bir anahtar sözcük bağımsız değişkeni olarak gelir.
from django.http import HttpResponse
def detail(request, post_id):
return HttpResponse('Post ' + str(post_id))
print('View receives post_id')Uygulama URL'lerini Dahil Etme
Projenin kök urls.py dosyası, her uygulamanın URL'lerini include() ile içeri alarak yönlendirmeyi modüler tutar.
# mysite/urls.py
from django.urls import path, include
urlpatterns = [
path('blog/', include('blog.urls')),
]
print('include() wires up app urls')Şablonları Oluşturma
render() kısayolu, bir şablonu bağlam sözlüğüyle birleştirir ve bir HttpResponse döndürür.
from django.shortcuts import render
def home(request):
return render(request, 'home.html', {'name': 'Alice'})
print('render combines template + context')404 Yardımcıları
get_object_or_404(), bir nesneyi getirir veya nesne yoksa 404 hatası oluşturur; bu, yaygın ve güvenli bir kalıptır.
from django.shortcuts import get_object_or_404, render
from .models import Post
def detail(request, post_id):
post = get_object_or_404(Post, id=post_id)
return render(request, 'detail.html', {'post': post})
print('get_object_or_404 handles missing data')URL'leri Tersine Çevirme
Python'da reverse('detail', args=[5]), bir kalıp adından URL oluşturur. Şablonlarda {% url %} etiketi aynı işi yapar.
from django.urls import reverse
# reverse('detail', args=[5]) -> '/blog/post/5/'
# In a template: {% url 'detail' post.id %}
print('reverse builds URLs from names')Sınıf Tabanlı Görünümler
Django, yaygın kalıpları daha az kodla işleyen sınıf tabanlı görünümler olarak ListView ve DetailView gibi seçenekler de sunar.
from django.views.generic import ListView
from .models import Post
class PostList(ListView):
model = Post
print('ListView lists objects automatically')Hızlı Kontrol
Görünümler ve URL'ler konusundaki bilginizi sınayın.
Özet
İstekleri görünümlere yönlendirdiniz.
- Görünümler bir
requestalır ve bir yanıt döndürür urlpatternsvepath(), isteğe bağlı olarak birnamekullanarak URL'leri görünümlerle eşleştirir<int:id>gibi dönüştürücüler URL bölümlerini yakalarinclude()uygulama URL'lerini bağlar;render()veget_object_or_404()kullanışlı kısayollardır
Sıkça Sorulan Sorular
“Görünümler ve URL'ler” dersi ücretsiz mi?
Evet — “Görünümler ve URL'ler” 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 Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Görünümler ve URL'ler” dersinde ne öğreneceğim?
İstekleri görünümlere yönlendirin Python 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.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python 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 3. dersidir.
“Görünümler ve URL'ler” 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 Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python 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
- Projeler ve Uygulamalar
- Modeller ve Geçişler
- Görünümler ve URL'ler
- Django Yönetim Paneli