Джанго проблемный вид - PullRequest
       28

Джанго проблемный вид

0 голосов
/ 11 августа 2011

У меня есть общее представление Django:

def post_list(request, page=0, paginate_by=1, **kwargs):
page_size = getattr(settings,'BLOG_PAGESIZE', paginate_by)
return list_detail.object_list(
    request,
    queryset=Post.objects.published(),
    paginate_by=page_size,
    page=page,
    **kwargs
)
post_list.__doc__ = list_detail.object_list.__doc__

, и я хочу отправить его в текущем году, чтобы использовать его в шаблонеКто-нибудь может мне помочь?

Ответы [ 2 ]

2 голосов
/ 11 августа 2011

Передать год через extra_context, для текущего года:

from datetime import datetime
year = datetime.now().year
0 голосов
/ 11 августа 2011

Ваша основная проблема - использование общих представлений - http://stdout.be/2010/05/25/generic-views-suck/

def post_list(request, page=0, paginate_by=1, **kwargs):
    page_size = getattr(settings,'BLOG_PAGESIZE', paginate_by)
    queryset = Post.objects.published()
    paginator = Paginator(queryset, page_size) 
    objects = paginator.page(page)

    #This stuff is only necessary if you aren't trapping page in the URL conf
    #page = request.GET.get('page')
    #try:
    #    objects = paginator.page(page)
    #except PageNotAnInteger:
    #    # If page is not an integer, deliver first page.
    #    objects = paginator.page(1)
    #except EmptyPage:
    #    # If page is out of range (e.g. 9999), deliver last page of results.
    #    objects = paginator.page(paginator.num_pages)

    return render_to_response('mytemplate.html', {"objects": objects, "year": datetime.now().year}, context=RequestContext(request))

По сравнению с оригиналом, какой код вы бы предпочли сохранить или расширить?

...