snipt/blogs/views.py

85 lines
2.5 KiB
Python

from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext
from annoying.functions import get_object_or_None
from snipts.models import Snipt
def blog_list(request, username_or_custom_slug=None):
if username_or_custom_slug:
return blog_post(request, username_or_custom_slug)
snipts = Snipt.objects.filter(user=request.blog_user, blog_post=True, public=True).order_by('-publish_date').exclude(title__iexact='Homepage')
sidebar = get_object_or_None(Snipt,
user=request.blog_user,
title='Blog Sidebar')
context = {
'blog_user': request.blog_user,
'has_snipts': True,
'public': True,
'sidebar': sidebar,
'snipts': snipts,
}
if 'rss' in request.GET:
context['snipts'] = context['snipts'][:20]
return rss(request, context)
#if request.blog_user.profile.is_pro:
#template = 'blogs/themes/pro-adams/list.html'
#else:
#template = 'blogs/themes/default/list.html'
template = 'blogs/themes/default/list.html'
return render_to_response(
template,
context,
context_instance=RequestContext(request)
)
def blog_post(request, username_or_custom_slug):
snipt = get_object_or_404(Snipt, user=request.blog_user,
blog_post=True,
public=True,
slug=username_or_custom_slug,
)
sidebar = get_object_or_None(Snipt,
user=request.blog_user,
title='Blog Sidebar')
context = {
'blog_user': request.blog_user,
'detail': True,
'has_snipts': True,
'public': True,
'sidebar': sidebar,
'snipt': snipt,
}
#if request.blog_user.profile.is_pro:
#template = 'blogs/themes/pro-adams/post.html'
#else:
#template = 'blogs/themes/default/post.html'
template = 'blogs/themes/default/post.html'
return render_to_response(
template,
context,
context_instance=RequestContext(request)
)
def rss(request, context):
return render_to_response(
'blogs/themes/default/rss.xml',
context,
context_instance=RequestContext(request),
mimetype="application/rss+xml"
)