Django

Hoe de Django Inclusion-tag te gebruiken

Hoe de Django Inclusion-tag te gebruiken
Het Django-framework gebruikt verschillende soorten sjablonen om de gegevens van de applicatie te presenteren. De Django-beheerdersinterface gebruikt de aangepaste sjabloontag. Het uiterlijk van deze interface-elementen, zoals knoppen, velden, enz., zijn hetzelfde voor alle pagina's. De Django-ontwikkelaar kan de aangepaste sjabloontag en filter definiëren voor zover de sjabloonengine en de nieuwe sjabloontag kunnen worden gebruikt met behulp van de % custom_tag %. De sjabloontag die wordt gebruikt om gegevens weer te geven door een andere sjabloon weer te geven, wordt de inclusietag genoemd. De manier om de inclusietag in de Django-sjabloon te gebruiken, wordt in deze zelfstudie getoond.

Vereisten:

Voordat u het script van deze tutorial oefent, moet u de volgende taken uitvoeren:.

EEN. Installeer de Django versie 3+ op Ubuntu 20+ (bij voorkeur)
B. Een Django-project maken
C. Voer de Django-server uit om te controleren of de server correct werkt of niet.

Een Django-app instellen:

EEN. Voer de volgende opdracht uit om een ​​Django-app met de naam te maken inclusietagapp.

$ python3 beheren.py startapp opnametagapp

B. Voer de volgende opdracht uit om de gebruiker te maken voor toegang tot de Django-database:. Als je de gebruiker eerder hebt gemaakt, hoef je de opdracht niet uit te voeren.

$ python3 beheren.py createsuperuser

C. Voeg de app-naam toe aan de INSTALLED_APP deel van de instellingen.py het dossier.

INSTALLED_APPS = [

'inclusietagapp'
]

D. Maak een map met de naam Sjablonen binnen in de inclusietagapp map en stel de Sjablonen locatie van de app in de SJABLONEN deel van de instellingen.py het dossier.

SJABLONEN = [

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

Inclusietag implementeren in Django:

Aanmaken sjabloontags map in de inclusietagapp map. Maak vervolgens een python-bestand met de naam inclusietag.py met het volgende script. De sjabloonmodule wordt in het script geïmporteerd om de inclusietag te gebruiken. Er wordt een lijst met even nummers gegenereerd na het aanroepen van de display_even_numbers() functie van dit script. De uitvoer van dit script wordt weergegeven in de Scherm.html bestand dat is gemaakt in de volgende stap van deze tutorial.

inclusietag.py

# Sjabloonmodule importeren
van django importsjabloon
# Maak een object van Library()
registreren = sjabloon.Bibliotheek()
# Definieer het sjabloonbestand voor de inclusietag
@registreren.include_tag('display.html')
# Declare-functie om de even getallen binnen een bereik te achterhalen
def display_even_numbers(a, b):
# Declareer een lege lijst
getal = []
# Herhaal de lus om het even getal tussen a en b . te vinden
voor i in bereik (a, b):
# Controleer of het getal even is of niet
als ik % 2 == 0:
# Voeg het nummer toe aan de lijst als het even is
aantal.toevoegen (i)
# Breng de lijst terug naar het display.html-bestand
return "output": number

Maak een HTML-bestand met de naam Scherm.html binnen in de Sjablonen map en voeg het volgende script toe:. De waarden van de lijst die worden geretourneerd door de inclusietag worden gelezen door een for-lus in het script.

Scherm.html



<br>Inclusietag testen<br>



    % voor waarde in uitvoer %

  1. val

  2. % eindvoor %


Maak vervolgens een ander HTML-bestand met de naam incusiontag.html binnen in de Sjablonen map en voeg het volgende script toe:. In dit script wordt de inhoud van de inclusietag die in het vorige deel van deze tutorial is gemaakt, geladen en de display_even_number() functie wordt aangeroepen met twee argumentwaarden, 10 en 20. Deze functie maakt een lijst met even getallen tussen 10 en 20 en brengt de lijst terug naar de Scherm.html het dossier.

inclusietag.html



<br>Voorbeeld van Django-opnametag<br>



Lijst met even getallen van 10 tot 20


% laad inclusietag %
% display_even_numbers 10 20 %


Wijzig de weergaven.py-bestand met het volgende script om de inclusietag in het vereiste sjabloonbestand te laden load. Wanneer de functie includetag() van dit script wordt aangeroepen, zal het de weergeven inclusietag.html bestand dat de inclusietag laadt en de . aanroept display_even_numbers() functie.

keer bekeken.py

# Importeer rendermodule
van django.sneltoetsen import render
"
Declareer functie om inclusietag weer te geven.html-bestand
om inclusietag te laden
"
def opnametag(verzoek):
return render(request, "inclusiontag.html")

Wijzig de URL's.py bestand van het Django-project en voeg het volgende script toe:. Na het uitvoeren van de Django-server, als het pad, inctag, wordt toegevoegd na de basis-URL, de inclusietag() functie wordt aangeroepen vanuit het weergavebestand. Deze functie maakt de inclusietag.html het dossier. Dit HTML-bestand laadt de inclusietag die zal aanroepen display_even_numbers() met argumenten. Deze functie retourneert een lijst met even getallen op basis van de argumentwaarden en geeft deze weer in de Scherm.html het dossier.

URL's.py

# Importpad
van django.URL-importpad
# Inclusietag-weergave importeren
van inclusietagapp.views import inclusietag
# Definieer het pad om de inclusietag-functie van de weergave aan te roepen
urlpatronen = [
path('inctag', inclusietag),
]

Voer nu de volgende opdracht uit om de Django-server te starten om te controleren of het bovenstaande script correct werkt of niet:.

$ python3 beheren.py runserver

Voer de volgende URL uit vanuit elke browser om de uitvoer van deze app te controleren.

http://localhost:8000/inctag

De volgende uitvoer zal verschijnen als de bovenstaande bestanden zijn gemaakt en correct werken:. Er zijn 5 even getallen tussen 10 en 20, en deze zijn weergegeven in de uitvoer.

Conclusie:

Er zijn veel functies in het Django-framework om verschillende soorten aangepaste tags te maken. Dit zijn simple_tag(), include_tag() en ssignment_tag(). simple_tag() functie wordt gebruikt om string terug te geven na het verwerken van de data. include_tag() functie wordt gebruikt om een ​​sjabloon te retourneren na het verwerken van de gegevens. opdracht_tag() functie wordt gebruikt om een ​​variabele in te stellen na het verwerken van de gegevens. De functie include_tag() is getoond in deze zelfstudie die een gerenderde sjabloon heeft geretourneerd na het verwerken van de gegevens. Ik hoop dat deze tutorial de lezer zal helpen om te weten hoe de inclusietag in de Django-app moet worden gebruikt.

Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...