Hvordan lage Django -maler?

Hvordan lage Django -maler?
En mal inneholder HTML -data som genereres fra en visning og vises i nettleseren. De statiske og dynamiske HTML -sidene kan opprettes ved hjelp av malen. Logikk og design har blitt holdt separat i Django -applikasjonen. Python -kode kan ikke brukes direkte i Django -malen fordi nettleseren ikke kan tolke Python -koden. Designeren kan designe HTML -sidene bare med nødvendig format eller styling, og koderen legger til de statiske eller dynamiske dataene i malen ved hjelp av Django malspråk (DTL).

Hvordan Django -malen kan opprettes og hvordan DTL kan brukes til å legge til statisk eller dynamisk innhold til malen har blitt vist i denne opplæringen.

Fordeler ved å bruke DTL:

Det er mange fordeler med å bruke DTL i Django -maler. Noen av dem er nevnt nedenfor.

  1. Den logiske delen og den presentasjonsdelen av applikasjonen opprettes separat.
  2. Det blir lettere å utvide søknaden.
  3. Det hjelper med å redusere redundansen i dataene.
  4. Det sikrer applikasjonens sikkerhet.

Forutsetninger:

Før du øver på skriptet til denne opplæringen, må du fullføre følgende oppgaver:

  1. Installer Django versjon 3+ på Ubuntu 20+ (helst)
  2. Lag et Django -prosjekt
  3. Kjør Django -serveren for å sjekke om serveren fungerer som den skal eller ikke

Sett opp en Django -app:

Kjør følgende kommando for å opprette en Django -app som heter tempapp:

$ Python3 Administrer.py startapp tempapp

Kjør følgende kommando for å opprette brukeren for tilgang til Django -databasen, men hvis du har opprettet brukeren før, trenger du ikke kjøre kommandoen vist nedenfor:

$ Python3 Administrer.Py CreateSuperuser

Legg til appnavnet i Installert_app del av Innstillinger.py fil, som vist nedenfor:

Installert_apps = [
..
'tempapp'
]

Opprett en mappe som heter Maler inne i tempapp mappe og angi malens Plasseringen av appen i Maler del av Innstillinger.py fil, som vist nedenfor:

Maler = [

.. .
'Dirs': ['/home/fahmida/django_pro/tempapp/maler'],
.. .
,
]

Lag en enkel Django -mal:

Opprett indeks.html fil inne i tempapp/maler/ mappe med følgende HTML -skript for å vise den formaterte statiske teksten til to linjer i nettleseren. HTML -fil kan ikke vises direkte i nettleseren og utsikten.py Fil brukes til å gjengi HTML -filen i Django -applikasjonen.

indeks.html





Django tutorials



Lær Django -malspråk


Django er populært Python Framework for å designe webapplikasjon




Åpne utsikt.py fil fra tempapp mappe og legg til følgende skript. De rander () metoden brukes i utsikten.py fil for å vise en malfil i nettleseren.

I det følgende skriptet, indeks () Funksjon er definert for å vise innholdet i indeks.html fil. Når denne funksjonen ringer fra URLS.py fil, så vises malfilen i nettleseren.

utsikt.py

# Import Render Module fra Django
Fra Django.snarveier import gjengivelse
# Opprett indeksfunksjon for å vise HTML -filen i nettleseren
def indeks (forespørsel):
Retur Render (forespørsel, "Indeks.html ")

Endre innholdet i URLS.py fil med følgende skript. I følge manuset, indeksen () funksjon av utsikt.py vil bli innkalt for banen, 'Indeks/'.

URLS.py

# Importer banemodul
Fra Django.URLS importerer bane
# Importer visninger
Fra tempapp importvisninger
# Definer metode for indeksbane
urlpatterns = [
bane ('indeks/', visninger.indeks) python3 administrere.Py CreateSuperuser
]

Kjør følgende URL fra nettleseren for å få følgende utdata. De statiske dataene vises i utgangen.

http: // localhost: 8000/indeks/

Lag en Django -mal med DTL:

Opprett Kunder.html fil inne i tempapp/maler/ mappe med følgende HTML -skript. DTL brukes i dette skriptet for å vise dataene fra ordbokvariabelen som initialiseres av dataene fra nestede lister i Visninger2.py fil. Den første til Loop brukes til å lese verdiene på den ytre listen og den andre til Loop brukes til å lese verdiene på den indre listen.

Kunder.html





Kundeinformasjon




Liste over kunder






% for rader i kunder %

% for col i rader %

% endfor %

% endfor %
IdNavnE -postTelefon
col



Lag en annen visningsfil som heter Visninger2.py under tempapp mappe med følgende skript. En ordbokvariabel som heter data er erklært i skriptet som inneholder en nestet liste for å generere tabelldata på 4 rader og 4 kolonner. De data variabel vil bli sendt til malen når kunder () Funksjonen til dette skriptet vil bli kalt fra URLS.py fil.

Visninger2.py

# Import Render Module fra Django
Fra Django.snarveier import gjengivelse
# Lag en funksjon for å sende tabelldata til mal
def kunder (forespørsel):
# Definer en ordbok for nestet liste
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 ']]

# Returrespons med mal og data
Returnering Render (forespørsel, "kunder.html ", data)

Endre URLS.py fil med følgende skript. 'kunder/'Sti er definert i skriptet for å laste inn Kunder.html fil i nettleseren med dataene fra ordboken.

URLS.py

# Importer banemodul
Fra Django.URLS importerer bane
# Importer visninger
Fra tempapp importvisninger
# Importer visninger2
fra tempapp importvisninger2
# Definer metoder for indeks- og kunder
urlpatterns = [
bane ('indeks/', visninger.indeks),
bane ('kunder/', visninger2.kunder)
]

Kjør følgende URL fra nettleseren for å få følgende utdata. Registreringene til alle kunder fra databasetabellene er vist i nettleseren ved hjelp av DTL.

http: // localhost: 8000/kunder/

Konklusjon:

Måtene å lage en enkel mal og en mal med Django Template Language (DTL) er vist i denne opplæringen. De nye Django -brukerne vil kunne lage malen for Django -appen riktig etter å ha praktisert skriptet til denne opplæringen.