Hoe de Django-sjabloon kan worden gemaakt en hoe de DTL kan worden gebruikt om statische of dynamische inhoud aan de sjabloon toe te voegen, is in deze tutorial getoond.
Voordelen van het gebruik van DTL:
Er zijn veel voordelen van het gebruik van DTL in Django-sjablonen. Sommigen van hen worden hieronder genoemd:.
- Het logische gedeelte en het presentatiegedeelte van de applicatie worden afzonderlijk gemaakt.
- Het wordt gemakkelijker om de applicatie uit te breiden.
- Het helpt de redundantie van de gegevens te verminderen.
- Het verzekert de veiligheid van de applicatie application.
Vereisten:
Voordat u het script van deze zelfstudie oefent, moet u de volgende taken uitvoeren:
- Installeer de Django versie 3+ op Ubuntu 20+ (bij voorkeur)
- Een Django-project maken
- Voer de Django-server uit om te controleren of de server goed werkt of niet
Een Django-app instellen:
Voer de volgende opdracht uit om een Django-app met de naam te maken tempapp:
$ python3 beheren.py startapp tempappVoer de volgende opdracht uit om de gebruiker aan te maken voor toegang tot de Django-database, maar als je de gebruiker al eerder hebt gemaakt, hoef je de onderstaande opdracht niet uit te voeren:
$ python3 beheren.py createsuperuserVoeg de app-naam toe aan de INSTALLED_APP deel van de instellingen.py bestand, zoals hieronder weergegeven:
INSTALLED_APPS = […
'tempapp'
]
Maak een map met de naam Sjablonen binnen in de tempapp map en stel de Sjablonen locatie van de app in de SJABLONEN deel van de instellingen.py bestand, zoals hieronder weergegeven:
SJABLONEN = [… .
'DIRS': ['/home/fahmida/django_pro/tempapp/templates'],
… .
,
]
Maak een eenvoudige Django-sjabloon:
Maak de inhoudsopgave.html bestand in de tempapp/sjablonen/ map met het volgende HTML-script om de opgemaakte statische tekst van twee regels in de browser weer te geven. HTML-bestand kan niet rechtstreeks in de browser worden weergegeven en de uitzichten.py bestand wordt gebruikt om het HTML-bestand in de Django-toepassing weer te geven.
inhoudsopgave.html
Leer de Django-sjabloontaal
Django is een populair python-framework om webapplicaties te ontwerpen
Open de keer bekeken.py bestand van tempapp map en voeg het volgende script toe:. De rander() methode wordt gebruikt in de uitzichten.py bestand om elk sjabloonbestand in de browser weer te geven.
In het volgende script, de inhoudsopgave() functie is gedefinieerd om de inhoud van de inhoudsopgave.html het dossier. Wanneer deze functie aanroep van de URL's.py bestand, dan wordt het sjabloonbestand weergegeven in de browser.
keer bekeken.py
# Importeer de rendermodule van djangovan django.sneltoetsen import render
# Maak een indexfunctie om het HTML-bestand in de browser weer te geven
def index(verzoek):
return render(verzoek, "index.html")
Wijzig de inhoud van de URL's.py bestand met het volgende script. Volgens het script, de index() functie van de keer bekeken.py zal worden opgeroepen voor het pad, 'inhoudsopgave/'.
URL's.py
# Padmodule importerenvan django.URL-importpad
# Weergaven importeren
van tempapp importweergaven
# Definieer methode voor indexpad
urlpatronen = [
pad('index/', weergaven.index)python3 beheren.py createsuperuser
]
Voer de volgende URL uit vanuit de browser om de volgende uitvoer te krijgen:. De statische gegevens worden weergegeven in de uitvoer.
http://localhost:8000/index/
Maak een Django-sjabloon met DTL:
Maak de klanten.html bestand in de tempapp/sjablonen/ map met het volgende HTML-script. DTL wordt in dit script gebruikt om de gegevens weer te geven van de woordenboekvariabele die is geïnitialiseerd door de gegevens van geneste lijsten in de weergaven2.py het dossier. De eerste voor lus wordt gebruikt om de waarden van de buitenste lijst te lezen en de tweede voor lus wordt gebruikt om de waarden van de binnenste lijst te lezen.
klanten.html
Lijst met klanten
ID kaart | Naam | Telefoon | |
---|---|---|---|
col |
Maak een ander weergavebestand met de naam weergaven2.py onder tempapp map met het volgende script. Een woordenboekvariabele met de naam gegevens wordt gedeclareerd in het script dat een geneste lijst bevat om tabelgegevens van 4 rijen en 4 kolommen te genereren. De gegevens variabele wordt naar de sjabloon verzonden wanneer de klanten() functie van dit script wordt aangeroepen vanuit de URL's.py het dossier.
weergaven2.py
# importeer de rendermodule van djangovan django.sneltoetsen import render
# maak een functie om tabelgegevens naar een sjabloon te sturen
def klanten (verzoek):
# definieer een woordenboek van geneste lijst
data = "klanten": [['6745', 'Monir Hossain', '[email protected]', '880191345234'],
['7845', 'Keya Akter', '[email protected]', '880189045673'],
['9056', 'Mohammed Ali', '[email protected]', '880179893922'],
['4536', 'Mostafa Kamal', '[email protected]', '880157665433']]
# antwoord terug met sjabloon en gegevens
return render(verzoek, "klanten.html", gegevens)
Wijzig de URL's.py bestand met het volgende script. 'klanten/' pad is gedefinieerd in het script om de . te laden klanten.html bestand in de browser met de gegevens van het woordenboek.
URL's.py
# Padmodule importerenvan django.URL-importpad
# Weergaven importeren
van tempapp importweergaven
# Importeer weergaven2
van tempapp-weergaven importeren
# Definieer methoden voor index- en klantpaden
urlpatronen = [
pad('index/', weergaven.inhoudsopgave),
pad('klanten/', views2.klanten)
]
Voer de volgende URL uit vanuit de browser om de volgende uitvoer te krijgen:. De records van alle klanten uit de databasetabellen zijn weergegeven in de browser met behulp van de DTL.
http://localhost:8000/klanten/
Conclusie:
De manieren om een eenvoudige sjabloon en een sjabloon te maken met Django Template Language (DTL) zijn in deze tutorial getoond shown. De nieuwe Django-gebruikers kunnen de sjabloon voor de Django-app correct maken nadat ze het script van deze tutorial hebben geoefend.