2009-12-04 64 views
1

这里是我的URL模式:如何自定义基于日期的通用视图的URL?

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

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

但是他们有一个错误喜欢这样的:

object_detail() got an unexpected keyword argument 'category' 

请帮助我。谢谢!

回答

3

我认为你必须写自己的观点代替通用object_detail的,像这样(未经)

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

虽然有可能做到这一点与object_detail我不知道 - 我很少使用通用视图。

+0

对不起,函数datetime.date不接受变量。他们想要整数。 – anhtran 2009-12-04 19:09:49

+0

我用一些int(...)修复了我的帖子,现在可能会工作! – 2009-12-05 08:21:31

相关问题