Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Una dintre cele mai puternice caracteristici ale Django este capacitatea sa de a reutiliza codul în mod dinamic. Moștenirea șabloanelor permite partajarea codului între șabloanele părinte și secundare. Reduce foarte mult dublarea efortului.

Django are limbajul de șablon conceput pentru a se combina cu HTML. Veți găsi ușor să lucrați cu șabloanele Django dacă ați mai lucrat cu cod HTML. Alte limbi de șablon bazate pe text, cum ar fi Smarty sau Jinja2, au o sintaxă similară.

Să aflăm mai multe despre moștenirea șablonului prin construirea unui proiect Django.

Ce este un șablon Django?

În Django, un șablon este un fișier text care poate genera orice format bazat pe text, cum ar fi HTML, XML sau CSV.

Etichete șablon Django controlați logica care include variabilele și valorile din șablon. Etichetele ajută la separarea logicii programului de prezentarea șablonului. De asemenea, vă ajută să vă păstrați șabloanele curate și organizate.

instagram viewer

Django are multe etichete încorporate, care arată ca {% etichetă %}. Etichetele sunt utile în multe feluri. Ei pot crea text în ieșire, pot efectua bucle și pot încărca informații în șablon.

Veți folosi etichete în acest proiect pentru a demonstra moștenirea șablonului.

Creați un proiect Django

Pentru a incepe, creați un proiect Django. Creați o aplicație numită șabloane. După ce ați făcut acest lucru, sunteți gata să creați o funcție de vizualizare pentru aplicație, o cale URL și șabloane pentru a demonstra moștenirea șablonului.

Creați o funcție de vizualizare

Mai întâi, creați un vedere funcția care redă șabloanele. În acest caz, veți reda index.html șablon. Importă face metoda din comenzile rapide Django. Apoi creați o funcție de vizualizare numită index care returnează și redă șablonul de index.

din django.comenzi rapide import face
# Creați-vă vederile aici.
defindex(cerere):
returnare randare (cerere,'index.html')

Creați o cale URL

Apoi, creați un calea URL pentru ca funcția de vizualizare să afișeze șabloanele. Importă cale funcția de la django.urls și vedere functia de la vederi.py fişier. Apoi import setări și static pentru a reda orice imagini și conținut media pe care le aveți în șabloane.

din django.urls import cale
din. import vederi
din django.conf import setări
din django.conf.urls.static importstatic
urlpatterns=[
cale('',views.index, nume='index'),
]
dacăsetări.DEBUG:
urlpatterns+=static(setari. MEDIA_URL, document_root=settings. MEDIA_ROOT)

Creați șabloane

Acum că ai vedere și URL cale, creați șabloanele. Pentru a demonstra moștenirea șablonului, creați un baza.html ca șablon părinte. The baza.html fișierul va avea elemente generale cu care doriți să le partajați index.html, șablonul copil.

{% load bootstrap5 %}
{% sarcină static %}
<!DOCTYPE html>
<html lang="ro">
<cap>
<meta charset="UTF-8">
<meta http-equiv="Compatibil X-UA" continut="IE=marginea">
<meta nume="fereastra" continut="lățime=lățime-dispozitiv, scară inițială=1,0">
<!-- titluri -->
{% if title %}
<titlu> Șabloane moștenite {{title}}</title>
{% altfel %}
<titlu> Șabloane moștenite </title>
{% endif %}
{% stiluri de bloc %}
{% bootstrap_css %}
<link rel="foaia de stil" href="{% static 'css/style.css' %}">
{% endblock %}
</head>
<corp>
{% include 'navbar.html' %}
{% block content %} {% endblock %}
<!-- Linkuri bootstrap -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integritate="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" origine încrucișată="anonim"></script>
</body>
</html>

Mai întâi, încărcați Bootstrap și dependențele statice pe baza.html șablon. Puteți utilizați cadrul Bootstrap cu proiectul dvs. Django pentru a stila paginile HTML. Dependența statică încărcată în partea de sus va încărca activele incluse în folderul static.

Șabloanele Django vă permit să treceți bucăți de logică responsabile pentru afișarea conținutului. Etichetele șablon constau din text înconjurat de „{%" și "%}" personaje. The dacă/altfel instrucțiunea verifică condițiile din funcția de vizualizare. Dacă condiția este adevărată, redă conținutul din primul bloc; dacă este fals, va reda conținutul în al doilea.

The baza.html fișierul va reda și conținutul navbar.html chiar acolo unde plasați etichetele șablonului. Asta înseamnă ori de câte ori extindeți baza.html, navbar.html este de asemenea moștenită. Orice șablon care extinde baza.html va moșteni orice element cu un {% include %} etichetă.

Orice text înconjurat de {{}} este o variabilă șablon. Variabilele șablon sunt date dinamice furnizate de funcțiile de vizualizare. Django folosește și etichete de bloc care folosesc o etichetă deschisă, cum ar fi {% block content %}, și o etichetă de închidere, cum ar fi {% endblock %}.

Etichetele de bloc le permit șabloanelor secundare să suprascrie conținutul șabloanelor părinte. În acest caz, index.html poate înlocui conținutul său în zona închisă de etichete bloc. Nu va interfera cu celălalt baza.html componente.

Să aplicăm logica la index.html

{% se extinde 'baza.html' %}
{% block content %}
<div class="container text-center" stil="culoare albă">
<h1>Eu sunt șablonul de index</h1>
<p>Am moștenit Bootstrap și bara de navigare de la base.html</p>
</div>
{% endblock %}

În index.html șablon, utilizați {% extinde %} etichetă pentru a extinde componentele baza.html. În interiorul etichetelor de bloc {% block content %}, scrieți tot codul dvs.

În index.html șablon, aveți un element H1 și un element paragraf. Puteți folosi etichetele șablonului din interiorul div-urilor pentru a apela variabile din vedere funcţie.

Testați moștenirea șablonului în browser

Acum puteți rula serverul. După ce ați făcut acest lucru, verificați în browser pentru a vedea dacă index.html fișierul a moștenit elementele lui baza.html. Aceasta include link-urile Bootstrap și navbar.html șablon.

The index.html fișierul ar trebui să moștenească stilurile navbar și Bootstrap din șablonul de bază. Dacă da, ați folosit corect moștenirea șablonului. Fără el, ar fi trebuit să adăugați bara de navigare și link-urile Bootstrap acolo unde ați avut nevoie de ele.

De asemenea, orice modificări pe care le faci la baza.html se va reflecta în toate șabloanele la care se extinde. Acest principiu este important în tratarea erorilor. Puteți identifica cu ușurință șabloanele cu erori.

Moștenirea șablonului este una dintre multele moduri în care Django implementează principiul Don’t Repeat Yourself (DRY). Vă va face dezvoltarea mult mai ușoară și mai simplă.

De ce ar trebui să utilizați Django Template Heritance

Moștenirea șablonului Django este una dintre cele mai complexe caracteristici ale sale. Poate dura ceva timp pentru a înțelege, dar odată ce o faci, economisește mult efort de dezvoltare.

Moștenirea șabloanelor vă permite să partajați cod între șabloanele părinte și cele secundare. Acest lucru vă asigură că nu scrieți cod repetitiv în șabloanele dvs.

Moștenirea șabloanelor este importantă în proiectele mari Django. În astfel de cazuri, există multe aplicații și multe șabloane de proiectat. Șabloanele părinte vă oferă mult control asupra celorlalte componente ale aplicației.

Învățând sistemul de șabloane Django, vă puteți bucura de a scrie cod curat și puternic.