Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi.

Tanpa perutean dinamis, menavigasi halaman web akan sulit. Anda harus mengetikkan path lengkap dari setiap halaman yang Anda kunjungi di browser. Sungguh pengalaman pengguna yang mengerikan.

Dynamic Uniform Resource Locators (URLs), memungkinkan Anda menavigasi ke berbagai halaman pada aplikasi dengan mengklik tombol. Django membuatnya mudah untuk mendesain URL dinamis. Ini memiliki modul Konfigurasi URL (URLconf) yang menghubungkan ekspresi URL ke tampilan.

Semua kode di URLconf menggunakan sintaks Python, membuatnya mudah untuk membuat URL dinamis. Mari pelajari lebih lanjut tentang URL dinamis dengan membuat proyek Django.

1. Buat Proyek Django

Pertama, membuat proyek Django dan aplikasi (aplikasi).

Beri nama aplikasi Anda Boma-watch. Aplikasi akan mengumpulkan lokasi, deskripsi, dan nomor penduduk dari berbagai lingkungan. Buat model bernama

instagram viewer
Lingkungan. Gunakan model untuk menambahkan informasi tentang lingkungan ke dalam database. Pelajari caranya membuat model di Django dan database jika Anda tidak terbiasa.

Selanjutnya, buat fungsi tampilan untuk lingkungan sekitar.

2. Buat Fungsi Tampilan

Di Django, tampilan adalah fungsi Python yang menerima permintaan HTTP dan mengembalikan tanggapan. Di halaman web yang diberdayakan oleh Django, tampilan melakukan beragam tugas dan misi.

Untuk mengeksekusi tampilan, Anda harus memanggilnya melalui URL. URL adalah jalur unik ke sumber daya di web. Sumber daya dapat berupa laman HTML, gambar, atau titik akhir API.

Buat URL yang mengambil data lingkungan berdasarkan parameter yang diteruskan. Untuk melakukannya, Anda dapat menggunakan kunci utama (pk) atau Identifikasi (id) untuk mengambil kembali informasi tersebut. Anda akan menggunakan satu templat untuk melakukan ini.

Anda dapat membuat tampilan dengan mendefinisikannya dalam file bernama views.py di folder aplikasi. Mulailah dengan mengimpor file memberikan fungsi dari Django untuk menampilkan data di URL. Impor juga Lingkungan model dari model.py.

dari django.shortcuts impor memberikan
dari .model impor Lingkungan

Selanjutnya, buat fungsi tampilan bernama rumah yang menampilkan semua lingkungan di template beranda. Itu NeighborHood.objek.semua() fungsi menerima data untuk semua lingkungan dari database.

defrumah(meminta):
lingkungan = NeighbourHood.objects.all()
mengembalikan render (permintaan, "rumah.html", {'lingkungan':lingkungan})

Juga, buat fungsi tampilan untuk join_hood yang akan menampilkan informasi lingkungan. Itu NeighbourHood.objects.get (id=id) fungsi meminta data sesuai dengan ID. Informasi tersebut kemudian diberikan pada template.

defjoin_hood(permintaan, id):
lingkungan = NeighbourHood.objects.get (id=id)
mengembalikan render (permintaan, 'join_hood.html', {'lingkungan':lingkungan})

Nantinya, saat Anda menavigasi ke suatu lingkungan, Anda akan dapat melihat informasi profilnya.

3. Buat URL Dinamis

Anda sekarang dapat membuat URL dinamis untuk fungsi tampilan yang Anda buat.

dari django.urls impor jalur
dari. impor pandangan
dari django.conf impor pengaturan
dari django.conf.urls.static imporstatis
daridjango.contrib.file statis.urlimporstaticfiles_urlpatterns

pola url = [
jalur ('rumah', tampilan.rumah, nama='rumah'),
jalur ('join_hood/<str: id>/', tampilan.join_hood, nama='join_hood'),
]

jikapengaturan.DEBUG:
pola url += statis(pengaturan. MEDIA_URL, document_root = pengaturan. MEDIA_ROOT)

Impor jalur dari URL Django untuk membuat jalur untuk tampilan. Kemudian impor fungsi tampilan dari views.py.

Itu join_hood URL memiliki placeholder dalam kurung sudut:. Ini menangkap bagian URL itu dan mengirimkannya ke tampilan.

Kurung sudut biasanya menyertakan spesifikasi konverter. Spesifikasi dapat berupa string (str) atau integer (int). Django juga menawarkan siput, jalan, atau pengidentifikasi unik universal (uuid). Spesifikasi membatasi jenis variabel atau jumlah karakter yang diteruskan dalam URL ke tampilan.

Memberi nama pada URL akan membantu mengidentifikasinya di template.

Itu statis Dan file statis impor menampilkan file statis di jalur URL. Pelajari lebih lanjut tentang cara menyusun parameter URL di official Django dokumentasi.

4. Tambahkan URL ke Template

Setelah Anda menambahkan fungsi tampilan ke URL, buat template HTML untuk menampilkan data. Anda memberi nama templatnya join_hood.html.

{% meluas "basis.html" %}

{% memuat statis %}

{% blokir konten %}
<kelas div="kartu mb-3" gaya="max-width: sesuai konten;">
<kelas div="baris g-0">
<kelas div="col-md-4">
<kelas div="col-md-8">
<kelas div="badan kartu">
<kelas h5="card-title"> Selamat datang!</h5>
<kelas p="kartu-teks pt-4"> Nama: {{neighborhood.name}}</P>
<kelas p="kartu-teks pt-4"> Lokasi: {{neighbourhood.location}}</P>
<kelas p="kartu-teks pt-4"> Deskripsi: {{neighborhood.description}}</P>
<kelas p="kartu-teks pt-4"> Telp Kesehatan:{{neighbourhood.health_tell}}</P>
<kelas p="kartu-teks pt-4"> Nomor Polisi: {{neighbourhood.police_number}}</P>
<kelas p="kartu-teks pt-4"> Penduduk: {{lingkungan. Menghitung}}</P>
</div>
</div>
</div>
</div>
</div>
{% blok akhir %}

Buat join_hood template di folder aplikasi untuk menampilkan data lingkungan. Pertama, perpanjang basis.html template dengan style sheet (bootstrap) yang akan Anda gunakan untuk memberi style pada template. Kemudian, render variabel yang akan menampilkan informasi di halaman.

Selanjutnya, buat a rumah.html templat tempat Anda akan menampilkan semua lingkungan.

{% meluas 'basis.html' %}

{% memuat statis %}

{% blokir konten %}
<kelas div="wadah" gaya="warna hitam;">
<img src="{{neighborhood.hood_logo.url}}" kelas="kartu-img-top" alt="{{pengguna.neighborhood.nama}}">

<kelas div="baris">
{% untuk lingkungan di lingkungan %}
<kelas div="col-md-4">
<kelas div="kartu mb-4" gaya="min-tinggi: 340px">
<img src="{{neighborhood.hood_logo.url}}" kelas="kartu-img-top" alt="{{pengguna.hood.name}}">

<kelas div="badan kartu">
<kelas h5="card-title">
{{neighborhood.name}}
({{neighborhood.location}})
<rentang kelas ="ml-4">{{lingkungan. Hitung}} anggota{{neighborhood.members.count|pluralize}}</span>
</h5>

<kelas p="kartu-teks">{{neighborhood.description}}</P>
<kelas p="kartu-teks">{{lingkungan.anggota. Menghitung}}</P>

<a href="{% url 'join_hood' lingkungan.id %}" kelas="btn btn-primer btn-sm">Bergabunglah dengan Hood</A>
</div>
</div>
</div>
</div>
</div>
{% blok akhir %}

Di halaman beranda, tampilkan semua informasi yang ingin Anda tampilkan tentang lingkungan sekitar. Anda akan menambahkan tombol dan tag jangkar di halaman beranda. Tag jangkar memiliki URL nama Dan ID tetangga.

Saat diklik, tombol menavigasi ke lingkungan ID tersebut. Templat beranda muncul di URL http://127.0.0.1:8000/home/. Gambar di bawah menunjukkan halaman ini:

5. Uji Perutean Dinamis

Sekarang, Anda dapat menguji apakah perutean dinamis berfungsi pada template. Ketika Anda mengklik bergabung dengan tudung tombol, Ini menavigasi ke join_hood templat. Itu join_hood templat menampilkan informasi profil tentang lingkungan yang Anda pilih.

Anda juga akan melihat ID lingkungan yang ditampilkan di URL browser http://127.0.0.1:8000/join_hood/2/

Akan muncul seperti gambar di bawah ini:

Selamat! Anda telah membuat URL dinamis.

Mengapa Menggunakan URL Django?

URL dinamis adalah fitur penting dalam aplikasi web. Django membuatnya mudah untuk mendesain URL sesuai dengan kebutuhan Anda. Ini menghilangkan batasan yang mungkin Anda kaitkan dengan kerangka kerja lain.

Modul URLconf penuh dengan sumber daya yang mendukung pembuatan URL Django. Hal ini juga memudahkan penyajian file statis pada template dan meningkatkan penanganan kesalahan.

Django memiliki fitur lain yang dirancang untuk mengoptimalkan aplikasi backend. Ini mengotomatiskan otentikasi pengguna, administrasi konten, dan peta situs, di antara fitur-fitur lainnya.