Django

Dapatkan URL Saat Ini di Template Django

Dapatkan URL Saat Ini di Template Django
Template Django digunakan untuk menampilkan data aplikasi untuk pengguna. Terkadang mengambil dan menampilkan URL saat ini di template. URL saat ini dapat ditampilkan dengan cara yang berbeda, seperti hanya nama domain, nama domain dengan jalur, dan nama domain dengan jalur dan http. Bagaimana URL saat ini dapat ditampilkan dalam template Django dalam format yang berbeda akan ditampilkan dalam tutorial ini.

Prasyarat:

Sebelum mempraktikkan skrip tutorial ini, Anda harus menyelesaikan tugas-tugas berikut;

  1. Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
  2. Buat proyek Django
  3. Jalankan server Django untuk memeriksa server bekerja dengan benar atau tidak.

Siapkan Aplikasi Django:

1. Jalankan perintah berikut untuk membuat aplikasi Django bernama geturlap.

$ python3 kelola.py startapp geturlapp

2. Jalankan perintah berikut untuk membuat pengguna yang akan digunakan untuk mengakses database Django. Jika Anda telah membuat pengguna sebelumnya maka Anda tidak perlu menjalankan perintah.

$ python3 kelola.py buat pengguna super

3. Tambahkan nama aplikasi di INSTALLED_APP bagian dari pengaturan.py mengajukan.

INSTALLED_APPS = [

'geturlap'
]

4. Buat folder bernama template di dalam geturlap folder dan atur template lokasi aplikasi di TEMPLATE bagian dari pengaturan.py mengajukan.

TEMPLATE = [

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

Buat dan Ubah File yang Diperlukan:

Tiga file HTML berbeda dibuat di bagian tutorial ini untuk menampilkan URL saat ini dalam tiga format berbeda.

Buat indeks.html file dengan skrip berikut untuk menampilkan nama domain dari URL saat ini saja.

indeks.html


Baca Nama Domain


Nama domain dari URL saat ini = showURL



Buat indeks2.html file dengan skrip berikut untuk menampilkan nama domain dengan jalur URL saat ini.

indeks2.html


Baca URL Saat Ini

>

Nama domain dari URL saat ini = showURL



Buat indeks3.html file dengan skrip berikut untuk menampilkan nama domain dengan jalur dan http dari URL saat ini.

indeks3.html


Baca URL Saat Ini dengan HTTP


Nama domain dari URL saat ini = showURL



Ubah dilihat.py file dari geturlap folder dengan skrip berikut:. Tiga fungsi telah didefinisikan dalam skrip untuk mengembalikan nilai URL saat ini dalam tiga format berbeda ke template. Itu geturl1() fungsi telah ditetapkan untuk mengambil nama domain dari URL saat ini dan mengirimkannya ke indeks.html mengajukan. Permintaan.get_host() fungsi telah digunakan untuk mengambil nama domain dari URL saat ini. Itu geturl2() fungsi telah ditetapkan untuk mengambil nama domain dengan jalur URL saat ini dan mengirimkannya ke indeks2.html mengajukan. Di sisi lain, permintaan.atribut path telah digunakan dengan permintaan.get_host() berfungsi untuk membaca jalur dengan nama domain dari URL saat ini. Itu geturl3() fungsi telah didefinisikan untuk mengambil nama domain dengan http dan jalur URL saat ini dan kirimkan ke indeks3.html mengajukan. permintaan._current_scheme_host atribut telah digunakan untuk mengambil nama domain dengan http. Nilai kembalian dari setiap fungsi akan diteruskan ke template menggunakan using URL tayangan menandai.

dilihat.html

# Impor modul render
dari django.pintasan impor render
# Baca hanya nama domain dari URL saat ini
def geturl1(permintaan):
urlObject = permintaan.get_host()
kembali render(permintaan, 'indeks.html', 'showURL': urlObject)
# Baca nama domain dengan path
def geturl2(permintaan):
urlObject = permintaan.get_host() + permintaan.jalan
kembali render(permintaan, 'index2.html', 'showURL': urlObject)
# Baca nama domain dengan http dan path
def geturl3(permintaan):
urlObject = permintaan._current_scheme_host + permintaan.jalan
kembali render(permintaan, 'index3.html', 'showURL': urlObject)

Ubah url.py file dari geturlap folder dengan skrip berikut:. Tiga jalur telah ditentukan dalam skrip untuk mengakses tiga fungsi file tampilan view. Jalur string() yang kosong akan digunakan untuk memanggil geturl1() fungsi. Itu 'indeks2' jalur akan digunakan untuk memanggil geturl2() fungsi. Itu 'indeks3' jalur akan digunakan untuk memanggil geturl3() fungsi.

url.py

# Modul jalur impor
dari django.jalur impor url
# Impor tampilan
dari tampilan impor geturlapp
# Tentukan jalur untuk membaca URL saat ini
pola url = [
# Tampilkan nama domain di template
jalur(", tampilan.geturl1),
# Tampilkan nama domain dengan path di template
jalur('indeks2', tampilan.geturl2),
# Tampilkan nama domain dengan http dan path di template
jalur('indeks3', tampilan.geturl3),
]

Keluaran:

Jalankan perintah berikut untuk memulai server Django.

$ python3 kelola.py runserver

Jalankan URL berikut dari browser untuk menampilkan nama domain dari URL saat ini. Itu geturl1() fungsi akan dipanggil untuk URL ini yang akan mengirim nama domain ke indeks.html mengajukan.

http://localhost:8000

Output berikut akan muncul setelah menjalankan skrip:.

Jalankan URL berikut dari browser untuk menampilkan nama domain dengan jalur URL saat ini. Itu geturl2() fungsi akan dipanggil untuk URL ini yang akan mengirim nama domain dengan jalur ke indeks2.html mengajukan.

http://localhost:8000/index2

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

Jalankan URL berikut dari browser untuk menampilkan nama domain dengan http dan jalur URL saat ini. Itu geturl3() fungsi akan dipanggil untuk URL ini yang akan mengirim nama domain dengan http dan jalur ke indeks3.html mengajukan.

http://localhost:8000/index3

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

Kesimpulan:

URL saat ini dapat ditampilkan dalam templat Django menggunakan metode dan atribut dari objek permintaan. Tiga templat telah dibuat dalam tutorial ini untuk menampilkan URL saat ini dalam tiga cara berbeda yang akan membantu pembaca mengetahui cara membaca URL saat ini dalam templat Django.

Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...
Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...