2 Stimmen

Gibt es eine Möglichkeit, eine Variable an eine generische Ansicht in Django zu übergeben?

Ich verwende die generischen Ansichten von Django und versuche, eine Möglichkeit zu finden, eine Liste von Artikeln mit D.R.Y. zu filtern.

Mein derzeitiges urls.py Datei (einziger relevanter Abschnitt):

all_articles = {
    'queryset'      :   Article.objects.all(),
    'template_name' :   'article/admin.html'
}

url(r'^admin/$', object_list, all_articles, 'admin_article_home'),

Ich möchte so etwas wie das Folgende machen, aber ohne den ganzen scheinbar überflüssigen Code:

filter_status_draft = {
'queryset'      :   Article.objects.filter(status = 'Draft'),
'template_name' :   'article/admin.html'
}

filter_status_scheduled = {
'queryset'      :   Article.objects.filter(status = 'Scheduled'),
'template_name' :   'article/admin.html'
}

url(r'^admin/filter/status/draft/$', object_list, filter_status_draft, 'admin_article_status_filter_draft'),
url(r'^admin/filter/status/scheduled/$', object_list, filter_status_scheduled, 'admin_article_status_filter_scheduled'),

Es muss doch einen effizienteren Weg geben, dies zu tun.

Ich habe bereits gesehen diese Antwort aber es scheint, dass das Erstellen einer Ansicht den Zweck einer allgemeinen URL weitgehend zunichte macht.

Gibt es keine Möglichkeit, so etwas Einfaches zu tun?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X