summaryrefslogtreecommitdiffstats
path: root/blog/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'blog/views.py')
-rw-r--r--blog/views.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/blog/views.py b/blog/views.py
new file mode 100644
index 0000000..06a4aba
--- /dev/null
+++ b/blog/views.py
@@ -0,0 +1,55 @@
+# Create your views here.
+from django.http import HttpResponse
+from django.shortcuts import render_to_response
+from django.template import Context, loader
+from django.views.generic.simple import direct_to_template
+from blog.models import Post, Tag
+
+def index(request, page=0):
+ item_count = 7
+
+ page = int(page)
+ start_num = (page * item_count)
+ end_num = start_num + item_count
+
+ post_list = Post.objects.all().order_by("-postdate")[start_num:end_num]
+
+ has_previous = page > 0
+ has_next = end_num < Post.objects.all().count()
+
+ c = {
+ 'postlist': post_list,
+ 'has_next': has_next,
+ 'has_previous': has_previous,
+ 'next_page': page + 1,
+ 'previous_page': page - 1
+ }
+
+ return direct_to_template(request, "blog/posts.html", c)
+
+def post(request, post_id):
+ post = Post.objects.filter(pk=post_id)
+ t = loader.get_template("blog/posts.html")
+ c = Context({
+ 'postlist': post,
+ })
+
+ return HttpResponse(t.render(c))
+
+def tags(request):
+ tag_list = Tag.objects.all()
+ t = loader.get_template("blog/tags.html")
+ c = Context({
+ 'taglist': tag_list,
+ })
+
+ return HttpResponse(t.render(c))
+
+def tag(request, tag_name):
+ post_list = Post.objects.filter(tags__name=tag_name)
+ t = loader.get_template("blog/posts.html")
+ c = Context({
+ 'postlist': post_list,
+ })
+
+ return HttpResponse(t.render(c))