Formulir Pencarian
Termasuk bagian Formulir dalam perjalanan Django di Coddy. Pelajaran 1 dari 20.
Pengunjung belum bisa mencari di papan acara. Formulir adalah sekumpulan kolom dan tombol yang mengirimkan teks yang diketik ke sebuah URL.
Formulir yang hanya membaca data menggunakan method="get": browser menambahkan setiap kolom ke string kueri URL dalam format name=value. Contoh filter ukuran di halaman toko:
<form method="get">
<select name="size">
<option value="S">Small</option>
<option value="L">Large</option>
</select>
<button type="submit">Show</button>
</form>Memilih Large akan membuka /products/?size=L. name pada kolom adalah kuncinya, jadi view membacanya seperti string kueri lainnya: request.GET.get("size", ""), dengan nilai default untuk halaman biasa.
Setelah pencarian, halaman dimuat ulang dan kotaknya kosong lagi. Agar teksnya tetap ada, kirimkan kembali teks tersebut ke template dan tuliskan di value input.
Tantangan
MudahTambahkan pencarian ke halaman beranda:
- Di atas daftar dalam
event_list.html, tambahkan formulir yang mengirimkan isinya melalui URL: input bernamaqdan tombolSearch. - Di
event_list, tampilkan hanya acara yang judulnya memuatq, tanpa membedakan huruf besar dan kecil. - Kotak pencarian tetap menampilkan teks yang dicari.
Tekan Jalankan dan cari jazz.
Coba sendiri
from django.shortcuts import get_object_or_404, render
from .models import Event
def event_list(request):
events = Event.objects.all()
return render(request, "events/event_list.html", {"events": events})
def event_detail(request, pk):
event = get_object_or_404(Event, pk=pk)
return render(request, "events/event_detail.html", {"event": event})
Semua pelajaran di Formulir
Latihan sendiri: Playground Django