Files
@ fb690c16763a
Branch filter:
Location: website/conservancy/news/views.py - annotation
fb690c16763a
3.1 KiB
text/x-python
Fix shirt size for monthly an annual renew
b7e2ce2a4d44 b7e2ce2a4d44 47a30a750ad1 2bf594b86cb1 47a30a750ad1 47a30a750ad1 47a30a750ad1 47a30a750ad1 47a30a750ad1 47a30a750ad1 47a30a750ad1 47a30a750ad1 8e6ea8ad71bf b7e2ce2a4d44 47a30a750ad1 b7e2ce2a4d44 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 9e39d7eadced 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 076345298ef4 00995bff4d0c 5c7710954b2e 5c7710954b2e 00995bff4d0c 5c7710954b2e 5c7710954b2e 87c68de62a1c 5c7710954b2e 076345298ef4 076345298ef4 5c7710954b2e 5c7710954b2e 5c7710954b2e 00995bff4d0c 5c7710954b2e 5c7710954b2e 00995bff4d0c 5c7710954b2e 5c7710954b2e 00995bff4d0c 5c7710954b2e 66dbfac066b0 5c7710954b2e 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 2bf594b86cb1 | from datetime import datetime
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
from django.http import HttpResponse
from django.shortcuts import render
from django.views.generic import ListView
from django.views.generic.dates import (
DateDetailView,
DayArchiveView,
MonthArchiveView,
YearArchiveView,
)
from ..events.models import Event
from .models import ExternalArticle, PressRelease
class NewsListView(ListView):
extra_context = {}
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
# context['key'] = 'value'
context.update(self.extra_context)
return context
def listing(request, *args, **kwargs):
news_queryset = PressRelease.objects.all()
# if (not kwargs.has_key('allow_future')) or not kwargs['allow_future']:
news_queryset = news_queryset.filter(**{'%s__lte' % kwargs['date_field']:
datetime.now()})
date_list = news_queryset.dates(kwargs['date_field'], 'year')
paginate_by = kwargs.get('paginate_by', 6) # Show 6 news items per page, by default
paginator = Paginator(news_queryset, paginate_by)
page = request.GET.get('page')
try:
news = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
news = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
news = paginator.page(paginator.num_pages)
return render(request, 'news/pressrelease_list.html', {"news": news, "date_list" : date_list})
class NewsYearArchiveView(YearArchiveView):
# queryset = Article.objects.all()
# date_field = "pub_date"
make_object_list = True
allow_future = True
# def archive_year(request, **kwargs):
# callable = NewsYearArchiveView.as_view(**kwargs)
# return callable(request)
class NewsMonthArchiveView(MonthArchiveView):
allow_future = True
# def archive_month(request, **kwargs):
# # return HttpResponse("archive_month")
# callable = NewsMonthArchiveView.as_view(**kwargs)
# return callable(request)
class NewsDayArchiveView(DayArchiveView):
allow_future = True
# def archive_day(request, **kwargs):
# # return HttpResponse("archive_day")
# callable = NewsDayArchiveView.as_view(**kwargs)
# return callable(request)
class NewsDateDetailView(DateDetailView):
# extra_context = {}
allow_future = True
# slug_url_kwarg = 'slug'
# def get_context_data(self, **kwargs):
# context = super(NewsDateDetailView, self).get_context_data(**kwargs)
# context.update(self.extra_context)
# return context
# def object_detail(request, **kwargs):
# # extra_context = {}
# # extra_context['slug'] = kwargs['slug']
# # del kwargs['slug']
# # kwargs['extra_context'] = extra_context
# # return HttpResponse("object_detail: " + str(kwargs))
# # slug = kwargs['slug']
# # del kwargs['slug']
# callable = NewsDateDetailView.as_view(**kwargs)
# return callable(request)
|