Django

Dapatkan URL Semasa di Templat Django

Dapatkan URL Semasa di Templat Django
Templat Django digunakan untuk menampilkan data aplikasi untuk pengguna. Kadang-kadang mengambil dan memaparkan URL semasa dalam templat. URL semasa boleh dipaparkan dengan cara yang berbeza, seperti hanya nama domain, nama domain dengan jalur, dan nama domain dengan jalur dan http. Bagaimana URL semasa dapat dipaparkan dalam templat Django dalam format yang berbeza akan ditunjukkan dalam tutorial ini.

Prasyarat:

Sebelum mempraktikkan skrip tutorial ini, anda mesti menyelesaikan tugas-tugas berikut;

  1. Pasang Django versi 3+ di Ubuntu 20+ (lebih baik)
  2. Buat projek Django
  3. Jalankan pelayan Django untuk memeriksa pelayan berfungsi dengan betul atau tidak.

Sediakan Aplikasi Django:

1. Jalankan arahan berikut untuk membuat aplikasi Django bernama geturlapp.

$ python3 menguruskan.py startapp geturlapp

2. Jalankan arahan berikut untuk membuat pengguna yang akan digunakan untuk mengakses pangkalan data Django. Sekiranya anda telah membuat pengguna sebelum itu, anda tidak perlu menjalankan perintah.

$ python3 menguruskan.py createuperuser

3. Tambahkan nama aplikasi di DIPASANG_APP sebahagian tetapan.py fail.

INSTALLED_APPS = [

'geturlapp'
]

4. Buat folder bernama templat di dalam geturlapp folder dan tetapkan templat lokasi aplikasi di TEMPAT sebahagian tetapan.py fail.

TEMPLATES = [

… .
'DIRS': ['/ rumah / fahmida / django_pro / validationapp / templat'],
… .
,
]

Buat dan Ubah Fail yang Diperlukan:

Tiga fail HTML yang berbeza telah dibuat di bahagian tutorial ini untuk memaparkan URL semasa dalam tiga format yang berbeza.

Buat indeks.html fail dengan skrip berikut untuk memaparkan nama domain URL semasa sahaja.

indeks.html


Baca Nama Domain


Nama domain URL semasa = showURL



Buat indeks2.html fail dengan skrip berikut untuk memaparkan nama domain dengan jalur URL semasa.

indeks2.html


Baca URL Semasa

>

Nama domain URL semasa = showURL



Buat indeks3.html fail dengan skrip berikut untuk memaparkan nama domain dengan jalan dan http dari URL semasa.

indeks3.html


Baca URL Semasa dengan HTTP


Nama domain URL semasa = showURL



Ubah suai pandangan.py fail dari geturlapp folder dengan skrip berikut. Tiga fungsi telah ditentukan dalam skrip untuk mengembalikan nilai URL semasa dalam tiga format yang berbeza ke templat. The geturl1 () fungsi telah didefinisikan untuk mengambil nama domain URL semasa dan menghantarnya ke indeks.html fail. Permintaan.dapatkan_host () fungsi telah digunakan untuk mengambil nama domain URL semasa. The geturl2 () fungsi telah didefinisikan untuk mengambil nama domain dengan jalan URL semasa dan menghantarnya ke indeks2.html fail. Sebaliknya, minta.atribut path telah digunakan dengan permintaan.fungsi get_host () untuk membaca jalan dengan nama domain URL semasa. The geturl3 () fungsi telah didefinisikan untuk mengambil nama domain dengan http dan jalan URL semasa dan hantarkan ke indeks3.html fail. permintaan._current_scheme_host atribut telah digunakan untuk mengambil nama domain dengan http. Nilai kembali setiap fungsi akan diteruskan ke templat menggunakan tayangan teg.

pandangan.html

# Modul rendering import
dari django.pintasan import pintasan
# Baca hanya nama domain URL semasa
def geturl1 (permintaan):
urlObject = permintaan.dapatkan_host ()
return render (permintaan, 'indeks.html ', ' showURL ': urlObject)
# Baca nama domain dengan jalan
def geturl2 (permintaan):
urlObject = permintaan.get_host () + permintaan.jalan
return render (permintaan, 'index2.html ', ' showURL ': urlObject)
# Baca nama domain dengan http dan jalan
def geturl3 (permintaan):
urlObject = permintaan._current_scheme_host + permintaan.jalan
return render (permintaan, 'index3.html ', ' showURL ': urlObject)

Ubah suai url.py fail dari geturlapp folder dengan skrip berikut. Tiga jalur telah ditentukan dalam skrip untuk mengakses tiga fungsi file view. Jalur tali kosong (”) akan digunakan untuk memanggil geturl1 () fungsi. The 'indeks2' jalan akan digunakan untuk memanggil geturl2 () fungsi. The 'indeks3' jalan akan digunakan untuk memanggil geturl3 () fungsi.

url.py

# Modul laluan import
dari django.laluan import url
# Paparan import
dari paparan import geturlapp
# Tentukan jalan untuk membaca URL semasa
urlpatterns = [
# Paparkan nama domain dalam templat
jalan (", pandangan.geturl1),
# Paparkan nama domain dengan jalur dalam templat
jalan ('index2', pandangan.geturl2),
# Paparkan nama domain dengan http dan jalan dalam templat
jalan ('index3', pandangan.geturl3),
]

Pengeluaran:

Jalankan arahan berikut untuk memulakan pelayan Django.

$ python3 menguruskan.pelari py

Jalankan URL berikut dari penyemak imbas untuk memaparkan nama domain URL semasa. The geturl1 () fungsi akan dipanggil untuk URL ini yang akan menghantar nama domain ke indeks.html fail.

http: // localhost: 8000

Output berikut akan muncul setelah melaksanakan skrip.

Jalankan URL berikut dari penyemak imbas untuk memaparkan nama domain dengan jalan URL semasa. The geturl2 () fungsi akan dipanggil untuk URL ini yang akan menghantar nama domain dengan jalan ke indeks2.html fail.

http: // localhost: 8000 / indeks2

Output berikut akan muncul setelah melaksanakan skrip. Di sini, jalannya adalah indeks2.

Jalankan URL berikut dari penyemak imbas untuk memaparkan nama domain dengan http dan jalan URL semasa. The geturl3 () fungsi akan dipanggil untuk URL ini yang akan menghantar nama domain dengan http dan jalan ke indeks3.html fail.

http: // localhost: 8000 / indeks3

Output berikut akan muncul setelah melaksanakan skrip. Di sini, jalannya adalah indeks3.

Kesimpulan:

URL semasa boleh dipaparkan dalam templat Django menggunakan kaedah dan atribut objek permintaan. Tiga templat telah dibuat dalam tutorial ini untuk memaparkan URL semasa dengan tiga cara yang berbeza yang akan membantu pembaca mengetahui cara membaca URL semasa dalam templat Django.

Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...