Frage

Hier ist mein URL-Muster:

news_info_month_dict = {
    'queryset': Entry.published.filter(is_published=True),
    'date_field': 'pub_date',
    'month_format': '%m',
}

und

(r'^(?P<category>[-\w]+)/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[-\w]+).html$', 
    'object_detail', news_info_month_dict, 'news_detail'),

Aber sie haben einen Fehler gefällt das:

object_detail() got an unexpected keyword argument 'category'

Bitte helfen Sie mir. Dank!

War es hilfreich?

Lösung

Ich denke, Sie Ihre eigene Sicht anstelle des generischen object_detail schreiben, so etwas wie diese (nicht getestet)

import datetime

def view_entry(request, category, year, month, day, slug):
    date = datetime.date(int(year), int(month), int(day))
    entry = get_object_or_404(Entry, slug=slug, date=date, is_published=True, category=category)
    return render_to_response('news_detail', {'object': entry})

Obwohl es möglich sein, kann es mit object_detail zu tun, weiß ich nicht. - Ich sehr selten allgemeine Ansichten verwenden

Andere Tipps

In Ihrer URL Regex, alles in <brackets> als Schlüsselwort Argument für die allgemeine Ansicht übergeben zu werden.

Das Problem ist, dass die allgemeine Ansicht Sie verwenden (object_detail) nicht alle diese Argumente unterstützen (nämlich category).

Weitere Informationen über die object_detail allgemeine Ansicht und die Argumente, die sie akzeptiert.

Wenn Sie eine category Argument müssen, wickeln nur die Ansicht wie Nick oben vorgeschlagen und rufen Sie das von Ihrem URLconf.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top