Question

Voici mon modèle d'URL:

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

et

(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'),

Mais ils ont une erreur aime ceci:

object_detail() got an unexpected keyword argument 'category'

S'il vous plaît aidez-moi. Merci!

Était-ce utile?

La solution

Je pense que vous devez écrire votre propre point de vue à la place du générique object_detail, quelque chose comme ça (non testé)

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})

Bien qu'il soit possible de le faire avec object_detail Je ne sais pas -. J'utilise très rarement des vues génériques

Autres conseils

Dans votre regex URL, tout <brackets> devient passé à la vue générique comme un argument mot-clé.

Le problème est que la vue générique que vous utilisez (object_detail) ne supporte pas tous ces arguments (à savoir, category).

plus d'informations sur la vue générique object_detail et les arguments qu'il accepte.

Si vous avez besoin d'un argument category, juste envelopper la vue comme Nick suggéré ci-dessus et appeler de votre URLconf.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top