def index(request):
    """A view of the site index page"""
    tumblelogs_per_page = get_cached_site_prefs().tumblelog_entries_per_page
    tumbelelog_entry_list = TumblelogEntry.objects.published()
    if len(tumbelelog_entry_list) > tumblelogs_per_page:
        tumbelelog_entry_list = tumbelelog_entry_list[:tumblelogs_per_page]
        tumblelog_next_page = reverse("tumblelog:list") + "?page=2"
    else:
        tumblelog_next_page = None
    blogs_per_page = get_cached_site_prefs().blog_entries_per_page
    blog_entry_list = BlogEntry.objects.published()
    if len(blog_entry_list) > blogs_per_page:
        blog_entry_list = blog_entry_list[:blogs_per_page]
        blog_next_page = reverse("blog:entry_list") + "?page=2"
    else:
        blog_next_page = None
    return simple.direct_to_template(request, 
        template = 'index.html',
        extra_context = {
            'tumblelog_entry_list': tumbelelog_entry_list,
            'tumblelog_next_page_link': tumblelog_next_page,
            'blog_entry_list': blog_entry_list,
            'blog_next_page_link': blog_next_page
        }
    )
Beispiel #2
0
 def test_index(self):
     """
     Verify that the site index page contains all blog entries and tumblelog 
     entires within the page's context.
     """
     response = self.client.get(reverse("index"))
     self.failUnlessEqual(response.status_code, 200)
     pg_blog_at = get_cached_site_prefs().blog_entries_per_page
     pg_tumblelog_at = get_cached_site_prefs().tumblelog_entries_per_page 
     try:
          response.context['blog_entry_list']
     except KeyError:
         self.fail((
             "Template context did not contain required blog entry "
             "objects."
         ))
     for entry in BlogEntry.objects.published()[:pg_blog_at]:
         self.assertTrue(entry in response.context['blog_entry_list'])
     try:
          response.context['tumblelog_entry_list']
     except KeyError:
         self.fail((
             "Template context did not contain required tumblelog entry "
             "objects."
         ))
     for entry in TumblelogEntry.objects.published()[:pg_tumblelog_at]:
         self.assertTrue(entry in response.context['tumblelog_entry_list'])        
def site_preferences(request):
    """
    A context processor that includes the site_preferences object for the
    current site (e.g. site title, blog and tumblelog settings). To avoid a
    DB lookup for every request, we'll cache site preferences by site ID.
    """
    return {'site_preferences': get_cached_site_prefs()}
def tumblelog_entry_list(request):
    """A view of all tumblelog entires, paginated"""
    return list_detail.object_list(request,
        queryset = TumblelogEntry.objects.published(),
        paginate_by  = get_cached_site_prefs().tumblelog_entries_per_page,
        page = get_page(request),
        template_name = "blogging/tumblelog_entry_list.html",
        template_object_name = "entry"
    )
def entry_list(request):
    """A view of a blog index page"""
    return list_detail.object_list(request, 
        queryset= BlogEntry.objects.published(),
        paginate_by = get_cached_site_prefs().blog_entries_per_page,
        page = get_page(request),
        template_name = 'blogging/blog_entry_list.html',
        template_object_name = "entry"
    )
Beispiel #6
0
 def test_entry_list(self):
     """
     Verify that the blog index page contains all blog entry headlines 
     within the page's context.
     """
     response = self.client.get(reverse("blog:entry_list"))
     self.failUnlessEqual(response.status_code, 200)
     paginate_at = get_cached_site_prefs().blog_entries_per_page
     try:
          response.context['entry_list']
     except KeyError:
         self.fail("Template context did not contain entry_list object.")
     for entry in BlogEntry.objects.published()[:paginate_at]:
         self.assertTrue(entry in response.context['entry_list'])
from django.core.urlresolvers import reverse
from django.views.generic import simple

from project_utils import annotate

from site_preferences.utils import get_cached_site_prefs

from blogging.models import TumblelogEntry, BlogEntry
from blogging.settings import BloggingSettings



@annotate(breadcrumb=get_cached_site_prefs().site_title)
def index(request):
    """A view of the site index page"""
    tumblelogs_per_page = get_cached_site_prefs().tumblelog_entries_per_page
    tumbelelog_entry_list = TumblelogEntry.objects.published()
    if len(tumbelelog_entry_list) > tumblelogs_per_page:
        tumbelelog_entry_list = tumbelelog_entry_list[:tumblelogs_per_page]
        tumblelog_next_page = reverse("tumblelog:list") + "?page=2"
    else:
        tumblelog_next_page = None
    blogs_per_page = get_cached_site_prefs().blog_entries_per_page
    blog_entry_list = BlogEntry.objects.published()
    if len(blog_entry_list) > blogs_per_page:
        blog_entry_list = blog_entry_list[:blogs_per_page]
        blog_next_page = reverse("blog:entry_list") + "?page=2"
    else:
        blog_next_page = None
    return simple.direct_to_template(request, 
        template = 'index.html',
from django.shortcuts import get_object_or_404
from django.views.generic import list_detail, simple

from project_utils import annotate, get_page

from site_preferences.utils import get_cached_site_prefs

from models import TumblelogEntry
from settings import BloggingSettings
from utils import get_cached_tumblelog_entry_title

@annotate(breadcrumb=get_cached_site_prefs().tumblelog_title)
def tumblelog_entry_list(request):
    """A view of all tumblelog entires, paginated"""
    return list_detail.object_list(request,
        queryset = TumblelogEntry.objects.published(),
        paginate_by  = get_cached_site_prefs().tumblelog_entries_per_page,
        page = get_page(request),
        template_name = "blogging/tumblelog_entry_list.html",
        template_object_name = "entry"
    )

@annotate(breadcrumb=get_cached_tumblelog_entry_title)
def tumblelog_entry_detail(request, slug=None):
    """A view of a tumblelog entry"""
    entry = get_object_or_404(TumblelogEntry.objects.published(), slug=slug)
    return simple.direct_to_template(request, 
        template="blogging/tumblelog_entry_detail.html",
        extra_context={'entry': entry}
    )