Django’da şablon kalıtımı, tekrarlanan kodları önlemek ve projelerinizde bir tutarlılık sağlamak için kullanabileceğiniz bir özelliktir. Bu yöntem, bir ana şablon oluşturarak, tüm sayfalarınızda ortak olan şeyleri bir kez yazmanıza olanak tanır. Sonra bu ana şablonu türetilen şablonlarla kullanabilirsiniz.

Django'da Şablon Kalıtımı Nedir? Nasıl Kullanılır?

Türetilen şablonlar, ana şablondan özellikle farklı olmayan, ancak belirli özelliklerle özelleştirilmiş içerikler içerebilir. Bu yöntem, web sitenizin tasarımını ve işlevselliğini daha kolay bir şekilde yönetmenize olanak tanır.

Şimdi şablon kalıtımı nasıl kullanılır bir örnekle açıklayalım.

Bir şablon oluşturmak için, base.html adında bir dosya oluşturun ve aşağıdaki gibi içeriğini oluşturun:

<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<title>{% block title %}Page Title{% endblock %}</title>
</head>
<body>
<header>
<nav>
<ul>
<li><a href=”#”>Ana Sayfa</a></li>
<li><a href=”#”>Hakkımızda</a></li>
<li><a href=”#”>İletişim</a></li>
</ul>
</nav>
</header>
    <main>
        {% block content %}{% endblock %}
    </main>

    <footer>
        <p>Telif Hakkı &copy; 2023 - Örnek Şirket.</p>
    </footer>
</body>
</html>
Bu şablon, web sitenizin tüm sayfalarında ortak olan HTML kodunu içerir. {% block %} etiketleri, ana şablonunuzda özelleştirebileceğiniz alanları belirtir.
Daha sonra, türetilen şablonları oluşturabilirsiniz. home.html adında bir dosya oluşturun ve şu şekilde içeriğini oluşturun:
{% extends ‘base.html’ %}
{% block title %}Ana Sayfa{% endblock %}

{% block content %}
    <h1>Hoş Geldiniz!</h1>
    <p>Bu web sitesindeki içerik hakkında bir şeyler yazabilirsiniz.</p>
{% endblock %}
Bu dosya, ana şablonu {% extends %} etiketiyle türetir. {% block %} etiketleri, türetilen şablonun özelleştirilebilir alanlarını belirtir.
Son olarak, türetilen şablonu görüntülemek için bir görünüm oluşturun. Django’da görünümler, web sayfalarını oluşturmak için Python kodu yazdığınız işlevlerdir. views.py dosyanıza aşağıdaki kodu ekleyin:
Elde ettiğimiz türetilmiş şablonu görüntülemek için bir görünüm oluşturacağız. Django’da, bir görünüm, HTTP istekleri ile birleştirildiğinde HTTP yanıtı döndüren bir Python işlevidir.
Öncelikle, views.py dosyasına aşağıdaki örnekte olduğu gibi bir görünüm işlevi ekleyeceğiz:
python
from django.shortcuts import render
def home(request):
return render(request, ‘home.html’)
Bu görünüm işlevi, “home” adında bir HTTP isteği aldığında, “home.html” adlı şablon dosyasını kullanarak yanıt verecektir.
Bu görünümü kullanmak için, urls.py dosyasına da bir URL eşleştiricisi eklememiz gerekiyor. urls.py dosyasına aşağıdaki gibi bir eşleştirici ekleyebiliriz:
python
from django.urls import path
from .views import home
urlpatterns = [
    path('', home, name='home'),
]
Bu eşleştirici, kök URL’i (“http://localhost:8000/”) home görünümüyle eşleştirir.
Artık sunucuyu çalıştırdığınızda (örneğin, python manage.py runserver), “http://localhost:8000/” adresine girdiğinizde, home.html şablonunun içeriğini göreceksiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir