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 opnametagappB. 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 createsuperuserC. 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 importerenvan 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
Inclusietag testen
val
% voor waarde in uitvoer %
% 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
Voorbeeld van Django-opnametag
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 rendermodulevan 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
# Importpadvan 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 runserverVoer 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.