ListView CBV in Django 1.7 dynamisch filtern

Ich habe das @ gelesoffizielle Dokumentation zum dynamischen Filtern ListView, aber ich bin immer noch verwirrt darüber, wie man es tatsächlich benutzt.

Ich habe derzeit ein einfaches Modell, nennen wir esScholarship:

class Scholarship(models.Model):
    title = models.CharField(max_length=255)
    submitted_date = models.DateField(auto_now=True, verbose_name='Date Submitted')
    EXPERIENCE_LEVEL_CHOICES = (
        ('A', 'Any'),
        ('S', 'Student'),
        ('G', 'Graduate')
    )
    experience_level = models.CharField(max_length=1, choices=EXPERIENCE_LEVEL_CHOICES, default='A')

Ich habe eine Seite, auf der ich alle diese Stipendien mit ListView zeige:

views.py

from django.views.generic import ListView
from .models import Scholarship


class ScholarshipDirectoryView(ListView):
    model = Scholarship
    template_name = 'scholarship-directory.html'

urls.py

from django.conf.urls import patterns, url

from .views import ScholarshipDirectoryView

urlpatterns = patterns('',
    url(r'^

Ich versuche, auf der Homepage der Site Links zu generieren, die gefilterte Versionen dieser ListView zurückgeben. Wenn zum Beispiel jemand auf den Link "Stipendien für Doktoranden anzeigen" klickt, werden nur Stipendien mitexperience_level='G' wird gezeigt

Ich habe kein Problem, dieses Abfrageset über die Shell zurückzugeben ->Scholarship.objects.filter(experience_level__exact='G')

Ich bin mir nur nicht sicher, wie ich die ListView über ein Dropdown-Menü oder eine URL dynamisch filtern soll. Ich möchte kein Plugin verwenden, sondern verstehe, wie dynamisch Abfragen / Filtern in Django funktioniert.

, ScholarshipDirectoryView.as_view(), name='scholarship_directory'), )

Ich versuche, auf der Homepage der Site Links zu generieren, die gefilterte Versionen dieser ListView zurückgeben. Wenn zum Beispiel jemand auf den Link "Stipendien für Doktoranden anzeigen" klickt, werden nur Stipendien mitexperience_level='G' wird gezeigt

Ich habe kein Problem, dieses Abfrageset über die Shell zurückzugeben ->Scholarship.objects.filter(experience_level__exact='G')

Ich bin mir nur nicht sicher, wie ich die ListView über ein Dropdown-Menü oder eine URL dynamisch filtern soll. Ich möchte kein Plugin verwenden, sondern verstehe, wie dynamisch Abfragen / Filtern in Django funktioniert.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage