Izpratne par veidņu pārmantošanu Django

Izpratne par veidņu pārmantošanu Django
Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Viena no jaudīgākajām Django funkcijām ir tā spēja dinamiski atkārtoti izmantot kodu. Veidņu mantošana ļauj koplietot kodu starp vecāku un bērnu veidnēm. Tas ievērojami samazina pūļu dublēšanos.





Django veidņu valoda ir izstrādāta, lai saplūstu ar HTML. Ja iepriekš esat strādājis ar HTML kodu, jums būs viegli strādāt ar Django veidnēm. Citām teksta veidņu valodām, piemēram, Smarty vai Jinja2, ir līdzīga sintakse.





DIENAS VIDEO MAKEUSEOF

Uzzināsim vairāk par veidņu pārmantošanu, veidojot Django projektu.





Kas ir Django veidne?

Programmā Django veidne ir teksta fails, kas var ģenerēt jebkuru teksta formātu, piemēram, HTML, XML vai CSV.

Django veidņu tagi kontrolēt veidnē esošos loģiskos mainīgos un vērtības. Tagi palīdz nodalīt programmas loģiku no veidnes prezentācijas. Tie arī palīdz uzturēt jūsu veidnes tīras un sakārtotas.



Django ir daudz iebūvētu tagu, kas izskatās kā {% tag %} . Atzīmes ir noderīgas daudzos veidos. Viņi var izveidot tekstu izvadē, veikt cilpas un ielādēt informāciju veidnē.

Šajā projektā izmantosit tagus, lai parādītu veidņu pārmantošanu.





Izveidojiet Django projektu

Lai sāktu, izveidot Django projektu . Izveidojiet lietotni ar nosaukumu veidnes . Kad tas ir izdarīts, varat izveidot lietotnes skata funkciju, URL ceļu un veidnes, lai demonstrētu veidņu pārmantošanu.

Izveidojiet skata funkciju

Vispirms izveidojiet a skats funkcija, kas atveido veidnes. Šajā gadījumā jūs atveidosit index.html veidne. Importēt renderēt metode no Django īsceļiem. Pēc tam izveidojiet skata funkciju ar nosaukumu indekss, kas atgriež un atveido indeksa veidni.





CC82DAA3D0EBAE3F46C39C4669BA58B5C1E7EF6

Izveidojiet URL ceļu

Pēc tam izveidojiet a URL ceļš skatīšanas funkcijai, lai parādītu veidnes. Importēt ceļš funkcija no django.urls un skats funkcija no views.py failu. Pēc tam importējiet iestatījumi un statisks lai renderētu visus attēlus un multividi, kas var būt veidnēs.

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)

Izveidojiet veidnes

Tagad, kad jums ir skats un URL ceļu, izveidojiet veidnes. Lai demonstrētu veidnes pārmantošanu, izveidojiet a base.html kā vecāku veidni. The base.html failā būs vispārīgi elementi, ar kuriem vēlaties koplietot index.html , bērna veidne.

{% 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>

Vispirms ielādējiet Bootstrap un statiskās atkarības uz base.html veidne. Jūs varat izmantojiet Bootstrap sistēmu ar savu Django projektu lai veidotu HTML lapu stilu. Augšpusē ielādētā statiskā atkarība ielādēs statiskajā mapē iekļautos līdzekļus.

Django veidnes ļauj nodot loģikas bitus, kas ir atbildīgi par satura attēlošanu. Veidnes tagi sastāv no teksta, ko ieskauj ' {% ' un ' %} ' rakstzīmes ja/citādi paziņojums pārbauda nosacījumus skata funkcijā. Ja nosacījums ir patiess, tas atveido saturu pirmajā blokā; ja tas ir nepatiess, saturs tiks renderēts otrajā.

kā darbojas wifi sd karte

The base.html fails atveidos arī saturu navbar.html tieši tur, kur ievietojat veidņu tagus. Tas nozīmē, ka ikreiz, kad pagarināsit base.html , navbar.html ir arī iedzimta. Jebkura veidne, kas paplašina base.html mantos jebkuru elementu ar an {% ietver %} tagu.

Jebkurš teksts, ko ieskauj {{}} ir veidnes mainīgais. Veidnes mainīgie ir dinamiski dati, ko nodrošina skata funkcijas. Django izmanto arī bloku tagus, kas izmanto atvērtu tagu, piemēram {% bloķēt saturu %} , un beigu atzīme, piemēram {% endblock %} .

Bloku atzīmes ļauj pakārtotajām veidnēm ignorēt vecāku veidņu saturu. Šajā gadījumā, index.html var aizstāt tā saturu bloku tagu apgabalā. Tas netraucēs otram base.html sastāvdaļas.

Pielietosim loģiku uz 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 %}

Iekš index.html veidni, izmantojiet {% pagarināt %} tagu, lai paplašinātu komponentus base.html . Bloku tagu iekšpusē {% bloķēt saturu %} , ierakstiet visu savu kodu.

Iekš index.html veidnē, jums ir H1 un rindkopas elements. Varat izmantot veidņu tagus divos, lai izsauktu mainīgos no skats funkciju.

Pārbaudīt veidņu pārmantošanu pārlūkprogrammā

Tagad varat palaist serveri. Kad tas ir izdarīts, pārlūkprogrammā pārbaudiet, vai index.html fails mantojis elementus base.html . Tas ietver Bootstrap saites un navbar.html veidne.

  index.html ar navigācijas joslu no base.html

The index.html failam ir jāpārmanto navigācijas joslas un Bootstrap stili no pamata veidnes. Ja tā, jūs esat pareizi izmantojis veidņu pārmantošanu. Bez tā jums būtu bijis jāpievieno navigācijas josla un Bootstrap saites, kur tās bija vajadzīgas.

Tāpat visas izmaiņas, ko veicat base.html atspoguļosies visās veidnēs, uz kurām tas attiecas. Šis princips ir svarīgs kļūdu apstrādē. Jūs varat viegli identificēt veidnes ar kļūdām.

Veidnes pārmantošana ir viens no daudzajiem veidiem, kā Django ievieš principu Neatkārtojiet sevi (DRY). Tas padarīs jūsu attīstību daudz vieglāku un vienkāršāku.

Kāpēc jums vajadzētu izmantot Django veidņu mantojumu

Django veidņu pārmantošana ir viena no tās sarežģītākajām funkcijām. Var paiet zināms laiks, lai to saprastu, taču, tiklīdz tas būs izdarīts, tas ietaupa daudz izstrādes pūļu.

Veidņu mantošana ļauj koplietot kodu starp vecāku un pakārtotajām veidnēm. Tas nodrošina, ka savās veidnēs nerakstāt atkārtotu kodu.

Lielos Django projektos ir svarīga veidņu pārmantošana. Šādos gadījumos ir jāveido daudzas lietojumprogrammas un daudzas veidnes. Vecāku veidnes sniedz jums daudz kontroles pār citiem lietojumprogrammas komponentiem.

Apgūstot Django veidņu sistēmu, varat izbaudīt tīra un jaudīga koda rakstīšanu.