gergelypolonkai-web-django/blog/views.py
Gergely Polonkai 1765929555 Added Code Chunks support
Currently with inline style sheets. That will definitely change soon.
2013-10-21 00:55:12 +02:00

52 lines
1.7 KiB
Python

import datetime
from django.shortcuts import render, get_object_or_404
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from blog.models import Post, CodeChunk
def mainpage(request):
last_posts = Post.objects.filter(draft = False).order_by('-created_at')[:5]
return render(request, 'blog/listing.html', {'posts': last_posts})
def listing(request, tag, page):
if (tag == None):
post_list = Post.objects.filter(draft = False)
view = "index"
else:
post_list = Post.objects.filter(tags__slug = tag, draft = False)
view = "tagage"
paginator = Paginator(post_list.order_by('-created_at'), 10)
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
return render(request, 'blog/listing.html', { 'posts': posts, 'view': "blog:" + view })
def index(request):
return listing(request, None, 1)
def indexpage(request, page):
return listing(request, None, page)
def taglist(request, tag):
return listing(request, tag, 1)
def tagpage(request, tag, page):
return listing(request, tag, page)
def read(request, year, month, day, slug):
post = get_object_or_404(Post, created_at__year=int(year), created_at__month=int(month), created_at__day=int(day), slug=slug, draft=False);
return render(request, 'blog/view.html', {'post': post})
def codechunk(request, language, slug):
chunk = get_object_or_404(CodeChunk, language=language, slug=slug)
return render(request, 'blog/code-chunk.html', {'codechunk': chunk})
def feed(request):
return render(request, 'blog/feed.xml', {})