Menimpa get_queryset dan Templat
Sesuaikan data dan nama templat untuk setiap tampilan
Menimpa get_queryset dan Templat adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Make Generic Views Yours
Generic views give sensible defaults, but real apps need tweaks. You override a few hooks to customize them. 🔧
What get_queryset Does
get_queryset decides which rows a view works with, so overriding it lets you filter or sort the results.
Filtering with get_queryset
Return a filtered queryset to show only the rows you want, like published posts.
class PostList(ListView):
model = Post
def get_queryset(self):
return Post.objects.filter(published=True)Reading the URL or User
Inside get_queryset you can read self.request, so you can scope results to the logged-in user.
def get_queryset(self):
return Post.objects.filter(author=self.request.user)Override template_name
Do not like the default template path? Set template_name to point at any template you choose.
class PostList(ListView):
model = Post
template_name = "blog/home.html"Override the Context Variable
Pair template_name with context_object_name so your custom template reads with a friendly variable.
class PostList(ListView):
template_name = "blog/home.html"
context_object_name = "posts"Add Extra Context
Override get_context_data to pass extra values, like a page title, alongside the objects.
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
ctx["title"] = "Blog"
return ctxAlways Call super First
In get_context_data, call super() first so you keep the objects the view already added, then add your own.
Customize the Suffix
Prefer model_browse over model_list? Set template_name_suffix to change just the suffix Django appends.
class PostList(ListView):
template_name_suffix = "_browse"Order the Results
Override get_queryset to sort rows, for example showing the newest posts first.
def get_queryset(self):
return Post.objects.order_by("-created")Small Hooks, Big Control
With these few overrides you bend generic views to almost any need while keeping their tidy structure. 💡
Quick Check
What is the purpose of overriding get_queryset?
Recap: Customizing Views
You shaped generic views with get_queryset, template_name, and get_context_data, customizing data and templates without losing their simplicity. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menimpa get_queryset dan Templat” gratis?
Ya — teks lengkap “Menimpa get_queryset dan Templat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menimpa get_queryset dan Templat”?
Sesuaikan data dan nama templat untuk setiap tampilan Kamu berlatih Django Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Django Academy?
Tidak diperlukan pengalaman sebelumnya. Django Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Menimpa get_queryset dan Templat” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Django Academy ini?
Ya. Setiap pelajaran Django Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- ListView dan DetailView
- CreateView dan UpdateView
- DeleteView dan success_url
- Menimpa get_queryset dan Templat