Django

Verkrijg de huidige URL in de Django-sjabloon

Verkrijg de huidige URL in de Django-sjabloon
Django-sjabloon wordt gebruikt om de applicatiegegevens voor de gebruikers weer te geven. Soms wordt de huidige URL in de sjabloon opgehaald en weergegeven. De huidige URL kan op verschillende manieren worden weergegeven, zoals alleen de domeinnaam, een domeinnaam met pad en de domeinnaam met pad en http. Hoe de huidige URL in de Django-sjabloon in verschillende formaten kan worden weergegeven, wordt in deze tutorial getoond.

Vereisten:

Voordat u het script van deze zelfstudie oefent, moet u de volgende taken uitvoeren;

  1. Installeer de Django versie 3+ op Ubuntu 20+ (bij voorkeur)
  2. Een Django-project maken
  3. Voer de Django-server uit om te controleren of de server goed werkt of niet.

Stel een Django-app in:

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

$ python3 beheren.py startapp geturlapp

2. Voer de volgende opdracht uit om de gebruiker te maken die zal worden gebruikt om toegang te krijgen tot de Django-database:. Als u de gebruiker eerder hebt gemaakt, hoeft u de opdracht niet uit te voeren.

$ python3 beheren.py createsuperuser

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

INSTALLED_APPS = [

'geturlapp'
]

4. Maak een map met de naam Sjablonen binnen in de geturlapp 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/validationapp/templates'],
… .
,
]

Maak en wijzig de benodigde bestanden:

In dit deel van deze tutorial zijn drie verschillende HTML-bestanden gemaakt om de huidige URL in drie verschillende formaten weer te geven.

Maak de inhoudsopgave.html bestand met het volgende script om alleen de domeinnaam van de huidige URL weer te geven.

inhoudsopgave.html


Domeinnaam lezen


De domeinnaam van de huidige URL = showURL



Maak de index2.html bestand met het volgende script om de domeinnaam met het pad van de huidige URL weer te geven.

index2.html


Lees huidige URL

>

De domeinnaam van de huidige URL = showURL



Maak de index3.html bestand met het volgende script om de domeinnaam weer te geven met het pad en http van de huidige URL.

index3.html


Lees huidige URL met HTTP


De domeinnaam van de huidige URL = showURL



Wijzig de keer bekeken.py bestand van de geturlapp map met het volgende script. Er waren drie functies gedefinieerd in het script om de huidige URL-waarde in drie verschillende formaten terug te sturen naar de sjabloon. De geturl1() functie is gedefinieerd om de domeinnaam van de huidige URL op te halen en deze naar de inhoudsopgave.html het dossier. Verzoek.get_host() functie is gebruikt om de domeinnaam van de huidige URL op te halen. De geturl2() functie is gedefinieerd om de domeinnaam met het pad van de huidige URL op te halen en deze naar de index2.html het dossier. Aan de andere kant, verzoek.path attribuut is gebruikt met het verzoek.get_host() functie om het pad met de domeinnaam van de huidige URL te lezen. De geturl3() functie is gedefinieerd om de domeinnaam op te halen met de http en het pad van de huidige URL en stuur het naar de index3.html het dossier. verzoek._current_scheme_host attribuut is gebruikt om de domeinnaam op te halen met http. De retourwaarde van elke functie wordt doorgegeven aan de sjabloon met behulp van de toonURL label.

keer bekeken.html

# Importeer rendermodule
van django.sneltoetsen import render
# Lees alleen de domeinnaam van de huidige URL
def geturl1(verzoek):
urlObject = verzoek.get_host()
return render(verzoek, 'index'.html', 'showURL': urlObject)
# Lees de domeinnaam met het pad
def geturl2(verzoek):
urlObject = verzoek.get_host() + verzoek.pad
return render(verzoek, 'index2').html', 'showURL': urlObject)
# Lees de domeinnaam met de http en het pad
def geturl3(verzoek):
urlObject = verzoek._current_scheme_host + verzoek.pad
return render(verzoek, 'index3').html', 'showURL': urlObject)

Wijzig de URL's.py bestand van de geturlapp map met het volgende script. Er waren drie paden gedefinieerd in het script om toegang te krijgen tot de drie functies van het weergavebestand. Het lege string(") pad wordt gebruikt om de . aan te roepen geturl1() functie. De 'index2' pad wordt gebruikt om de . aan te roepen geturl2() functie. De 'index3' pad wordt gebruikt om de . aan te roepen geturl3() functie.

URL's.py

# Padmodule importeren
van django.URL-importpad
# Weergave importeren
van geturlapp importweergaven
# Definieer paden om de huidige URL te lezen
urlpatronen = [
# Toon de domeinnaam in de sjabloon
pad(", weergaven.geturl1),
# Toon de domeinnaam met pad in de sjabloon
pad('index2', weergaven.geturl2),
# Toon de domeinnaam met http en pad in de sjabloon
pad('index3', weergaven.geturl3),
]

Uitgang:

Voer de volgende opdracht uit om de Django-server te starten:.

$ python3 beheren.py runserver

Voer de volgende URL uit vanuit de browser om de domeinnaam van de huidige URL weer te geven. De geturl1() functie wordt aangeroepen voor deze URL die de domeinnaam naar de inhoudsopgave.html het dossier.

http://localhost:8000

De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voer de volgende URL uit vanuit de browser om de domeinnaam weer te geven met het pad van de huidige URL. De geturl2() functie wordt aangeroepen voor deze URL die de domeinnaam met het pad naar de index2.html het dossier.

http://localhost:8000/index2

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Hier is het pad index2.

Voer de volgende URL uit vanuit de browser om de domeinnaam met de http en het pad van de huidige URL weer te geven. De geturl3() functie wordt aangeroepen voor deze URL die de domeinnaam met de http en het pad naar de . zal verzenden index3.html het dossier.

http://localhost:8000/index3

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Hier is het pad index3.

Conclusie:

De huidige URL kan worden weergegeven in de Django-sjabloon met behulp van de methode en de attributen van het aanvraagobject. In deze zelfstudie zijn drie sjablonen gemaakt om de huidige URL op drie verschillende manieren weer te geven, zodat de lezers weten hoe de huidige URL in de Django-sjabloon moet worden gelezen.

Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...
Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...
Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...