Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Tambahkan pencarian ke halaman beranda:

  • Di atas daftar dalam event_list.html, tambahkan formulir yang mengirimkan isinya melalui URL: input bernama q dan tombol Search.
  • Di event_list, tampilkan hanya acara yang judulnya memuat q, 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