Pytonorm

Hur man skapar Django-mallar?

Hur man skapar Django-mallar?
En mall innehåller HTML-data som genereras från en vy och visas i webbläsaren. De statiska och dynamiska HTML-sidorna kan skapas med mallen. Logik och design har hållits separat i Django-applikationen. Pythonkod kan inte användas direkt i Django-mallen eftersom webbläsaren inte kan tolka pythonkoden. Designern kan utforma HTML-sidorna endast med nödvändigt format eller styling, och kodaren lägger till statisk eller dynamisk data i mallen med Django mallspråk (DTL).

Hur Django-mallen kan skapas och hur DTL kan användas för att lägga till statiskt eller dynamiskt innehåll i mallen har visats i denna handledning.

Fördelar med att använda DTL:

Det finns många fördelar med att använda DTL i Django-mallar. Några av dem nämns nedan.

  1. Den logiska delen och presentationsdelen av applikationen skapas separat.
  2. Det blir lättare att förlänga ansökan.
  3. Det hjälper till att minska redundansen i data.
  4. Det garanterar applikationens säkerhet.

Förutsättningar:

Innan du övar på skriptet i den här självstudien måste du slutföra följande uppgifter:

  1. Installera Django version 3+ på Ubuntu 20+ (helst)
  2. Skapa ett Django-projekt
  3. Kör Django-servern för att kontrollera om servern fungerar korrekt eller inte

Ställ in en Django-app:

Kör följande kommando för att skapa en Django-app med namnet tempapp:

$ python3 hantera.py startapp tempapp

Kör följande kommando för att skapa användaren för åtkomst till Django-databasen, men om du har skapat användaren tidigare behöver du inte köra kommandot som visas nedan:

$ python3 hantera.py skaparanvändare

Lägg till appnamnet i INSTALLERAD_APP del av inställningar.py fil, som visas nedan:

INSTALLED_APPS = [
..
'tempapp'
]

Skapa en mapp med namnet mallar inuti tempapp mapp och ställ in mallar plats för appen i MALLAR del av inställningar.py fil, som visas nedan:

MALLAR = [

.. .
'DIRS': ['/ home / fahmida / django_pro / tempapp / templates'],
.. .
,
]

Skapa en enkel Django-mall:

Skapa index.html fil inuti tempapp / mallar / mapp med följande HTML-skript för att visa den formaterade statiska texten på två rader i webbläsaren. HTML-fil kan inte visas direkt i webbläsaren och utsikterna.py filen används för att återge HTML-filen i Django-applikationen.

index.html





Django självstudier



Lär dig Djangos mallspråk


Django är ett populärt python-ramverk för design av webbapplikationer




Öppna utsikt.py fil från tempapp mappen och lägg till följande skript. De rander () metoden används i utsikterna.py fil för att visa vilken mallfil som helst i webbläsaren.

I följande skript, index() funktionen definieras för att visa innehållet i index.html fil. När denna funktion ringer från webbadresser.py filen visas mallfilen i webbläsaren.

utsikt.py

# Importera renderingsmodul från django
från django.genvägar importeras
# Skapa indexfunktion för att visa HTML-filen i webbläsaren
def index (begäran):
return render (begäran, "index.html ")

Ändra innehållet i webbadresser.py fil med följande skript. Enligt manuset, indexet () funktion av utsikt.py kommer att kallas för vägen, 'index/'.

webbadresser.py

# Importera sökvägsmodul
från django.webbadress för webbadresser
# Importera vyer
från tempapps importvyer
# Definiera metod för indexväg
urlmönster = [
sökväg ('index /', vyer.index) python3 hantera.py skaparanvändare
]

Kör följande URL från webbläsaren för att få följande resultat. Den statiska data visas i utgången.

http: // localhost: 8000 / index /

Skapa en Django-mall med DTL:

Skapa kunder.html fil inuti tempapp / mallar / mapp med följande HTML-skript. DTL används i det här skriptet för att visa data för ordlistavariabeln som initieras av data från kapslade listor i vyer2.py fil. Den första för loop används för att läsa värdena för den yttre listan och den andra för loop används för att läsa värdena på den inre listan.

kunder.html





kundinformation




Lista över kunder






% för rader i kunder%

% för kol i rader%

% endfor%

% endfor%
IDnamnE-postTelefon
col



Skapa en annan vyfil med namnet vyer2.py under tempapp mapp med följande skript. En ordboksvariabel med namnet data deklareras i skriptet som innehåller en kapslad lista för att generera tabelldata med 4 rader och 4 kolumner. De data variabeln skickas till mallen när kunder () funktionen för detta skript kommer att anropas från webbadresser.py fil.

vyer2.py

# import render-modul från django
från django.genvägar importeras
# skapa en funktion för att skicka tabelldata till mallen
def kunder (begäran):
# definiera en ordlista med kapslad lista
data = "kunder": [['6745', 'Monir Hossain', '[email protected]', '880191345234'],
['7845', 'Keya Akter', '[email protected]', '880189045673'],
['9056', 'Mohammed Ali', '[email protected]', '880179893922'],
['4536', 'Mostafa Kamal', '[email protected]', '880157665433']]

# retursvar med mall och data
return render (begäran, "kunder.html ", data)

Ändra webbadresser.py fil med följande skript. ''kunder /sökvägen definieras i skriptet för att ladda kunder.html fil i webbläsaren med uppgifterna i ordlistan.

webbadresser.py

# Importera sökvägsmodul
från django.webbadress för webbadresser
# Importera vyer
från tempapps importvyer
# Importera vyer2
från tempapps importvyer2
# Definiera metoder för index- och kundvägar
urlmönster = [
sökväg ('index /', vyer.index),
sökväg ('kunder /', vyer2.kunder)
]

Kör följande URL från webbläsaren för att få följande resultat. Register över alla kunder från databastabellerna har visats i webbläsaren med hjälp av DTL.

http: // localhost: 8000 / kunder /

Slutsats:

Sätten att skapa en enkel mall och en mall med Django Template Language (DTL) har visats i denna handledning. De nya Django-användarna kommer att kunna skapa mallen för Django-appen ordentligt efter att ha övat manuset i denna handledning.

SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...
Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...
0 A.D. Handledning
Av de många strategispelen där ute, 0 A.D. lyckas framstå som en omfattande titel och ett mycket djupt, taktiskt spel trots att det är öppen källkod. ...