Memahami Pewarisan Templat di Django

Memahami Pewarisan Templat di Django
Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca lebih banyak.

Salah satu fitur Django yang paling kuat adalah kemampuannya untuk menggunakan kembali kode secara dinamis. Pewarisan template memungkinkan pembagian kode antara template induk dan anak. Ini sangat mengurangi duplikasi usaha.





apakah me-rooting ponsel membuka kuncinya?

Django memiliki bahasa cetakannya yang dirancang untuk berbaur dengan HTML. Anda akan merasa mudah bekerja dengan templat Django jika Anda pernah bekerja dengan kode HTML sebelumnya. Bahasa templat berbasis teks lainnya seperti Smarty atau Jinja2 memiliki sintaks yang serupa.





GUNAKAN VIDEO HARI INI

Mari pelajari lebih lanjut tentang pewarisan templat dengan membuat proyek Django.





Apa itu Templat Django?

Di Django, templat adalah file teks yang dapat menghasilkan format berbasis teks apa pun, seperti HTML, XML, atau CSV.

Tag templat Django mengontrol logika yang menyertakan variabel dan nilai dalam template. Tag membantu memisahkan logika program dari presentasi template. Mereka juga membantu menjaga template Anda bersih dan teratur.



Django memiliki banyak tag bawaan, yang terlihat seperti {% tanda %} . Tag sangat membantu dalam banyak hal. Mereka dapat membuat teks dalam output, melakukan loop, dan memuat informasi ke dalam template.

Anda akan menggunakan tag dalam proyek ini untuk mendemonstrasikan pewarisan template.





Buat Proyek Django

Untuk memulai, membuat proyek Django . Buat aplikasi bernama template . Setelah melakukannya, Anda siap membuat fungsi tampilan untuk aplikasi, jalur URL, dan template untuk mendemonstrasikan pewarisan template.

Buat Fungsi Tampilan

Pertama, buat a melihat fungsi yang membuat template. Dalam hal ini, Anda akan merender file index.html templat. Impor memberikan metode dari pintasan Django. Kemudian buat fungsi tampilan bernama index yang mengembalikan dan merender template indeks.





CC82DAA3D0EBAE3F46C39C4669BA58B5C1E7EF6

Buat Jalur URL

Selanjutnya, buat a jalur URL untuk fungsi view untuk menampilkan template. Impor jalur fungsi dari django.urls dan melihat berfungsi dari views.py mengajukan. Lalu impor pengaturan dan statis untuk merender gambar dan media apa pun yang mungkin Anda miliki di template.

from django.urls import path 
from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns=[
path('',views.index,name='index'),
]
if settings.DEBUG:
urlpatterns+=static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Buat Template

Sekarang setelah Anda memiliki melihat dan URL path, buat template. Untuk mendemonstrasikan pewarisan template, buat a basis.html sebagai pola induk. Itu basis.html file akan memiliki elemen umum yang ingin Anda bagikan index.html , templat anak.

{% load bootstrap5 %} 
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- titles -->
{% if title %}
<title> Inherited Templates {{title}}</title>
{% else %}
<title> Inherited Templates </title>
{% endif %}
{% block styles %}
{% bootstrap_css %}
<link rel="stylesheet" href="{% static 'css/style.css' %}">
{% endblock %}
</head>
<body>
{% include 'navbar.html' %}
{% block content %} {% endblock %}
<!-- Bootstrap links -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"> </script>
</body>
</html>

Pertama, muat Bootstrap dan dependensi statis ke file basis.html templat. Kamu bisa gunakan kerangka Bootstrap dengan proyek Django Anda untuk menata halaman HTML. Ketergantungan statis yang dimuat di atas akan memuat aset yang termasuk dalam folder statis.

Templat Django membolehkan Anda melewatkan bit logika yang bertanggung jawab untuk menampilkan konten. Tag template terdiri dari teks yang diapit oleh ' {% ' dan ' %} ' karakter. The jika / lain pernyataan memeriksa kondisi dalam fungsi tampilan. Jika kondisinya benar, konten akan dirender di blok pertama; jika salah, itu akan membuat konten di urutan kedua.

Itu basis.html file juga akan merender konten navbar.html tepat di mana Anda menempatkan tag template. Itu berarti setiap kali Anda memperpanjang basis.html , navbar.html juga diwariskan. Template apa pun yang memperluas basis.html akan mewarisi elemen apa pun dengan an {% termasuk %} menandai.

Setiap teks dikelilingi oleh {{}} adalah variabel cetakan. Variabel template adalah data dinamis yang disediakan oleh fungsi tampilan. Django juga menggunakan tag blok yang menggunakan tag terbuka, seperti {% blokir konten %} , dan tag penutup, seperti {% blok akhir %} .

Tag blok memungkinkan templat anak untuk menimpa konten templat induk. Dalam hal ini, index.html dapat mengganti isinya di area yang dilingkupi oleh tag blok. Itu tidak akan mengganggu yang lain basis.html komponen.

Mari kita terapkan logika ke index.html

{% extends 'base.html' %} 
{% block content %}
<div class="container text-center" style="color: white">
<h1>I Am The Index Template</h1>
<p>I inherited Bootstrap and the navbar from base.html</p>
</div>
{% endblock %}

Dalam index.html templat, gunakan {% memperpanjang %} tag untuk memperpanjang komponen basis.html . Di dalam tag blok {% blokir konten %} , tulis semua kode Anda.

Dalam index.html template, Anda memiliki elemen H1 dan paragraf. Anda dapat menggunakan tag templat di dalam div untuk memanggil variabel dari melihat fungsi.

Uji Template Inheritance di Browser

Anda sekarang dapat menjalankan server. Setelah Anda melakukannya, periksa di browser untuk melihat apakah index.html file mewarisi elemen dari basis.html . Itu termasuk tautan Bootstrap dan navbar.html templat.

  index.html dengan navbar dari base.html

Itu index.html file harus mewarisi gaya navbar dan Bootstrap dari templat dasar. Jika demikian, Anda telah menggunakan warisan template dengan benar. Tanpanya, Anda harus menambahkan bilah navigasi dan tautan Bootstrap di mana Anda membutuhkannya.

Juga, setiap perubahan yang Anda buat pada basis.html akan tercermin di semua templat yang diperluas. Prinsip ini penting dalam penanganan kesalahan. Anda dapat dengan mudah Mengidentifikasi templat dengan bug.

download gratis windows xp untuk pc

Pewarisan templat adalah salah satu dari banyak cara Django mengimplementasikan prinsip Jangan Ulangi Diri Anda (KERING). Ini akan membuat pengembangan Anda jauh lebih mudah dan sederhana.

Mengapa Anda Harus Menggunakan Warisan Template Django

Pewarisan cetakan Django adalah salah satu fiturnya yang paling kompleks. Mungkin perlu waktu untuk memahaminya, tetapi begitu Anda melakukannya, ini akan menghemat banyak upaya pengembangan.

Pewarisan template memungkinkan Anda berbagi kode antara template induk dan anak. Ini memastikan Anda tidak menulis kode berulang di template Anda.

Pewarisan templat penting dalam proyek Django besar. Dalam kasus seperti itu, ada banyak aplikasi dan banyak template untuk didesain. Templat induk memberi Anda banyak kendali atas komponen aplikasi lainnya.

Dengan mempelajari sistem templat Django, Anda dapat menikmati penulisan kode yang bersih dan kuat.