Django

Hankige praegune URL Django mallist

Hankige praegune URL Django mallist
Django malli kasutatakse kasutajate jaoks rakenduse andmete kuvamiseks. Mõnikord on see praeguse URL-i hankimine ja kuvamine mallis. Praegust URL-i saab kuvada erineval viisil, näiteks ainult domeeninime, domeeninime koos teega ja domeeninime koos tee ja http-ga. Kuidas praegust URL-i kuvatakse Django mallis erinevates vormingutes, näidatakse selles õpetuses.

Eeldused:

Enne selle õpetuse skripti harjutamist peate täitma järgmised ülesanded;

  1. Installige Django versioon 3+ Ubuntu 20+ (eelistatult)
  2. Looge Django projekt
  3. Käivitage Django server, et kontrollida, kas server töötab korralikult või mitte.

Django rakenduse seadistamine:

1. Django nimelise rakenduse loomiseks käivitage järgmine käsk geturlapp.

$ python3 hallata.py startapp geturlapp

2. Django andmebaasi juurde pääsemiseks kasutatava kasutaja loomiseks käivitage järgmine käsk. Kui olete kasutaja varem loonud, ei pea te käsku käivitama.

$ python3 hallata.py loob ülikasutaja

3. Lisage rakenduse nimi rakendusse INSTALLED_APP osa seaded.py faili.

INSTALLED_APPS = [

"geturlapp"
]

4. Looge kaust nimega mallid sees geturlapp kaust ja määrake malli omad rakenduse asukoht MALLID osa seaded.py faili.

MALLID = [

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

Vajalike failide loomine ja muutmine:

Selle õpetuse selles osas loodi kolm erinevat HTML-faili, et kuvada praegune URL kolmes erinevas vormingus.

Looge indeks.HTML järgmise skriptiga fail ainult praeguse URL-i domeeninime kuvamiseks.

indeks.HTML


Loe domeeninime


Praeguse URL-i domeeninimi = showURL



Looge indeks2.HTML fail järgmise skriptiga, et kuvada domeeninimi koos praeguse URL-iga.

indeks2.HTML


Loe praegune URL

>

Praeguse URL-i domeeninimi = showURL



Looge indeks3.HTML fail järgmise skriptiga, et kuvada domeeninimi koos praeguse URL-i tee ja http-ga.

indeks3.HTML


Lugege praegust URL-i HTTP-ga


Praeguse URL-i domeeninimi = showURL



Muutke vaated.py fail geturlapp kaust järgmise skriptiga. Skriptis oli määratletud kolm funktsiooni, et praegune URL-i väärtus kolmes erinevas vormingus mallile tagastada. The geturl1 () Funktsioon on määratletud praeguse URL-i domeeninime hankimiseks ja URL-ile saatmiseks indeks.HTML faili. Taotlus.get_host () funktsiooni on kasutatud praeguse URL-i domeeninime hankimiseks. The geturl2 () Funktsioon on määratletud domeeninime leidmiseks koos praeguse URL-i teega ja saatma selle aadressile indeks2.HTML faili. Teiselt poolt taotleda.koos päringuga on kasutatud tee atribuuti.funktsioon get_host () praeguse URL-i domeeninimega tee lugemiseks. The geturl3 () Funktsioon on määratletud domeeninime hankimiseks http ja praeguse URL-i tee ning saatke see aadressile indeks3.HTML faili. taotlus._current_scheme_host atribuuti on kasutatud domeeninime hankimiseks koos http-ga. Iga funktsiooni tagastusväärtus edastatakse mallile, kasutades showURL silt.

vaated.HTML

# Impordi renderdamise moodul
alates django.otseteed impordi renderdamine
# Loe ainult praeguse URL-i domeeninime
def geturl1 (taotlus):
urlObject = taotlus.get_host ()
return render (taotlus, 'register.HTML ', ' showURL ': urlObject)
# Loe domeeninime koos teega
def geturl2 (taotlus):
urlObject = taotlus.get_host () + taotlus.tee
return render (request, 'indeks2.HTML ', ' showURL ': urlObject)
# Lugege domeeninime koos http-ga ja teega
def geturl3 (taotlus):
urlObject = taotlus._current_scheme_host + taotlus.tee
return render (taotlus, 'index3.HTML ', ' showURL ': urlObject)

Muutke URL-id.py faili geturlapp kaust järgmise skriptiga. Vaatefaili kolme funktsiooni kasutamiseks oli skriptis määratletud kolm rada. Tühja stringi (”) teed kasutatakse geturl1 () funktsioon. The 'indeks2' teed kutsutakse geturl2 () funktsioon. The 'indeks3' teed kutsutakse geturl3 () funktsioon.

URL-id.py

# Importimooduli import
alates django.URL-ide importimise tee
# Importivaade
geturlappi impordivaadetest
# Määrake praeguse URL-i lugemise teed
urlpatterns = [
# Kuvage mallis domeeninimi
tee (", vaated.geturl1),
# Kuvage mallis domeeni nimi koos teega
tee ('indeks2', vaated.geturl2),
# Kuva domeenis domeeninimi koos malli ja teega
tee ('index3', vaated.geturl3),
]

Väljund:

Django serveri käivitamiseks käivitage järgmine käsk.

$ python3 hallata.py töötaberver

Praeguse URL-i domeeninime kuvamiseks käivitage brauseris järgmine URL. The geturl1 () Selle URL-i jaoks kutsutakse funktsioon, mis saadab domeeninime aadressile indeks.HTML faili.

http: // localhost: 8000

Pärast skripti käivitamist ilmub järgmine väljund.

Domeeninime kuvamiseks koos praeguse URL-iga kuvage brauseris järgmine URL. The geturl2 () Selle URL-i jaoks kutsutakse funktsioon, mis saadab domeeninime koos teega indeks2.HTML faili.

http: // localhost: 8000 / index2

Pärast skripti käivitamist ilmub järgmine väljund. Siin see tee on indeks2.

Domeeninime kuvamiseks koos URL-iga ja praeguse URL-i tee käivitage brauseris järgmine URL. The geturl3 () Selle URL-i jaoks kutsutakse funktsioon, mis saadab domeeninime koos URL-iga ja tee aadressile indeks3.HTML faili.

http: // localhost: 8000 / index3

Pärast skripti käivitamist ilmub järgmine väljund. Siin see tee on indeks3.

Järeldus:

Praeguse URL-i saab Django mallis kuvada, kasutades päringuobjekti meetodit ja atribuute. Selles õpetuses oli loodud kolm malli praeguse URL-i kuvamiseks kolmel erineval viisil, mis aitab lugejal teada saada, kuidas Django-mallis praegust URL-i lugeda.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...
Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...