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 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.

challenge icon

Tantangan

Mudah

Tambahkan pencarian ke halaman beranda.

  1. Di event_list.html, di atas <ul class="events">, tambahkan formulir dengan method="get" yang berisi input bernama q dan tombol Search.
  2. Di event_list, pertahankan acara yang judulnya memiliki q, tanpa membedakan huruf besar dan kecil.
  3. Teruskan q ke templat sebagai value input, agar pencarian untuk Meetup tetap 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