Få gjeldende URL i Django -malen

Få gjeldende URL i Django -malen
Django -mal brukes til å vise applikasjonsdata for brukerne. Noen ganger henter den og visningen av gjeldende URL i malen. Gjeldende URL kan vises på forskjellige måter, for eksempel bare domenenavnet, et domenenavn med sti og domenenavnet med bane og HTTP. Hvordan gjeldende URL kan vises i Django -malen i forskjellige formater vil bli vist i denne opplæringen.

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 at serveren fungerer som den skal eller ikke.

Sett opp en Django -app:

1. Kjør følgende kommando for å opprette en Django -app som heter Geturlapp.

$ Python3 Administrer.py startapp geturlapp

2. Kjør følgende kommando for å opprette brukeren som vil bli brukt til å få tilgang til Django -databasen. Hvis du har opprettet brukeren før, trenger du ikke kjøre kommandoen.

$ Python3 Administrer.Py CreateSuperuser

3. Legg til appnavnet i Installert_app del av Innstillinger.py fil.

Installert_apps = [
..
'geturlapp'
]

4. Opprett en mappe som heter Maler inne i Geturlapp mappe og angi malens Plasseringen av appen i Maler del av Innstillinger.py fil.

Maler = [

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

Opprett og endre de nødvendige filene:

Tre forskjellige HTML -filer ble opprettet i denne delen av denne opplæringen for å vise gjeldende URL i tre forskjellige formater.

Opprett indeks.html fil med følgende skript for bare å vise domenenavnet til gjeldende URL.

indeks.html


Les domenenavn


Domenenavnet til den nåværende URL = Showurl



Opprett Indeks2.html fil med følgende skript for å vise domenenavnet med banen til gjeldende URL.

Indeks2.html


Les gjeldende url

>

Domenenavnet til den nåværende URL = Showurl



Opprett Indeks3.html fil med følgende skript for å vise domenenavnet med banen og HTTP for gjeldende URL.

Indeks3.html


Les gjeldende URL med HTTP


Domenenavnet til den nåværende URL = Showurl



Endre utsikt.py fil av Geturlapp mappe med følgende skript. Tre funksjoner hadde blitt definert i skriptet for å returnere gjeldende URL -verdi i tre forskjellige formater til malen. De getUrl1 () Funksjonen er definert for å hente domenenavnet til gjeldende URL og sende den til indeks.html fil. Be om.get_host () Funksjonen har blitt brukt til å hente domenenavnet til gjeldende URL. De getUrl2 () Funksjonen er definert for å hente domenenavnet med banen til den gjeldende URL -en og sende den til Indeks2.html fil. På den annen side, forespørsel.Sti -attributt har blitt brukt med forespørselen.get_host () funksjon for å lese banen med domenenavnet til gjeldende URL. De getUrl3 () Funksjonen er definert for å hente domenenavnet med http og banen til den nåværende url og send den til Indeks3.html fil. be om._current_scheme_host Attributt har blitt brukt til å hente domenenavnet med HTTP. Returverdien for hver funksjon vil bli sendt til malen ved å bruke Showurl stikkord.

utsikt.py

# Import Render Module
Fra Django.snarveier import gjengivelse
# Les bare domenenavnet til gjeldende URL
def getUrl1 (forespørsel):
UrlObject = forespørsel.get_host ()
Retur Render (forespørsel, 'indeks.html ', ' showurl ': urlobject)
# Les domenenavnet med banen
def getUrl2 (forespørsel):
UrlObject = forespørsel.get_host () + forespørsel.sti
Retur Render (forespørsel, 'INDEX2.html ', ' showurl ': urlobject)
# Les domenenavnet med HTTP og banen
def getUrl3 (forespørsel):
UrlObject = forespørsel._current_scheme_host + forespørsel.sti
Retur Render (forespørsel, 'INDEX3.html ', ' showurl ': urlobject)

Endre URLS.py fil av Geturlapp mappe med følgende skript. Tre stier hadde blitt definert i skriptet for tilgang til de tre funksjonene til visningsfilen. Den tomme strengen (”) banen vil bli brukt til å ringe getUrl1 () funksjon. De 'Index2' banen vil bli brukt til å ringe getUrl2 () funksjon. De 'Index3' banen vil bli brukt til å ringe getUrl3 () funksjon.

URLS.py

# Importer banemodul
Fra Django.URLS importerer bane
# Importer visning
Fra Geturlapp importvisninger
# Definer stier for å lese gjeldende URL
urlpatterns = [
# Vis domenenavnet i malen
bane (", visninger.getUrl1),
# Vis domenenavnet med banen i malen
Sti ('Index2', visninger.getUrl2),
# Vis domenenavnet med HTTP og sti i malen
Sti ('Index3', visninger.getUrl3),
]

Produksjon:

Kjør følgende kommando for å starte Django -serveren.

$ Python3 Administrer.py runserver

Utfør følgende URL fra nettleseren for å vise domenenavnet til gjeldende URL. De getUrl1 () Funksjon vil bli kalt for denne URL -en som vil sende domenenavnet til indeks.html fil.

http: // localhost: 8000

Følgende utgang vises etter å ha utført skriptet.

Utfør følgende URL fra nettleseren for å vise domenenavnet med banen til gjeldende URL. De getUrl2 () Funksjon vil bli kalt for denne URL -en som vil sende domenenavnet med banen til Indeks2.html fil.

http: // localhost: 8000/index2

Følgende utgang vises etter å ha utført skriptet. Her er banen Indeks2.

Utfør følgende URL fra nettleseren for å vise domenenavnet med HTTP og banen til gjeldende URL. De getUrl3 () Funksjon vil bli kalt for denne URL -en som sender domenenavnet med HTTP og banen til Indeks3.html fil.

http: // localhost: 8000/index3

Følgende utgang vises etter å ha utført skriptet. Her er banen Indeks3.

Konklusjon:

Gjeldende URL kan vises i Django -malen ved hjelp av metoden og attributtene til forespørselsobjektet. Tre maler hadde blitt opprettet i denne opplæringen for å vise gjeldende URL på tre forskjellige måter som vil hjelpe leserne til å kjenne måten å lese den nåværende URL -en i Django -malen.