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 apa yang diketik ke URL.
Formulir yang hanya membaca data menggunakan method="get": browser memasukkan setiap kolom ke dalam string kueri URL, sebagai name=value. 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 kata-kata di dalamnya tetap ada, teruskan kata-kata itu kembali ke template dan tuliskan di value input.
Tantangan
MudahTambahkan pencarian ke halaman beranda.
- Di
event_list.html, di atas<ul class="events">, tambahkan formulir denganmethod="get"yang berisi input bernamaqdan tombolSearch. - Di
event_list, pertahankan acara yang judulnya memilikiq, tanpa membedakan huruf besar dan kecil. - Teruskan
qke templat sebagaivalueinput, agar pencarian untukMeetuptetap ada di kotak.
Cari jazz: hanya Friday Jazz Night yang tersisa, dan kotak tetap menampilkan 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