diff --git a/minecraftcodex/database/templates/achievements.html b/minecraftcodex/database/templates/achievements.html
new file mode 100644
index 0000000..4e7c5de
--- /dev/null
+++ b/minecraftcodex/database/templates/achievements.html
@@ -0,0 +1,28 @@
+{% extends "layout.html" %}
+
+{% block page_title %}
+{{ super() }} | Achievements
+{% endblock %}
+
+{% block content %}
+
+
Achievements
+
+
+ {% for item in page.object_list %}
+
+
+
+
{{ item.name() }}
+
{{ item.description() }}
+
+
+
+ {% if loop.index % 2 == 0 %}
+
+
+ {% endif %}
+ {% endfor %}
+
+
+{% endblock %}
diff --git a/minecraftcodex/database/templates/layout.html b/minecraftcodex/database/templates/layout.html
index bd16784..06e99f3 100644
--- a/minecraftcodex/database/templates/layout.html
+++ b/minecraftcodex/database/templates/layout.html
@@ -65,6 +65,9 @@ Thank you!
Items
+
+ Achievements
+
Versions
diff --git a/minecraftcodex/database/views.py b/minecraftcodex/database/views.py
index 05f2090..0b778f9 100644
--- a/minecraftcodex/database/views.py
+++ b/minecraftcodex/database/views.py
@@ -1,5 +1,5 @@
from django.shortcuts import render_to_response
-from database.models import Version, Item, Block
+from database.models import Version, Item, Block, Achievement
from django.core.paginator import Paginator
from django.template import RequestContext
from django.http import HttpResponseForbidden, Http404
@@ -125,6 +125,28 @@ def blocks_detail(request, data_value):
else:
raise Http404
+
+def achievements(request):
+ section = 'achievements'
+
+ items = Achievement.objects.all()
+ paginator = Paginator(items, 48)
+ page_number = 1
+
+ if 'page' in request.GET:
+ page_number = int(request.GET['page'])
+
+ page = paginator.page(page_number)
+ data = {
+ 'section': section,
+ 'page': page,
+ 'page_number': page_number,
+ 'paginator': paginator,
+ }
+ context = RequestContext(request, data)
+ return render_to_response('achievements.html', context_instance=context)
+
+
def about(request):
context = RequestContext(request, {'section': 'about'})
return render_to_response('about.html', context_instance=context)
diff --git a/minecraftcodex/herobrine/urls.py b/minecraftcodex/herobrine/urls.py
index 874bec4..0137b48 100644
--- a/minecraftcodex/herobrine/urls.py
+++ b/minecraftcodex/herobrine/urls.py
@@ -40,10 +40,13 @@ urlpatterns = patterns('',
url(r'^items/(?P\d+)/', 'database.views.items_detail', name='items_detail'),
url(r'^items/', 'database.views.items', name='items_list'),
- # Items
+ # Blocks
url(r'^blocks/(?P\d+)/', 'database.views.blocks_detail', name='blocks_detail'),
url(r'^blocks/', 'database.views.blocks', name='blocks_list'),
+ # Achievements
+ url(r'^achievements/$', 'database.views.achievements', name='achievements'),
+
# Blog
url(r'^blog/$', 'blog.views.blog', name='blog_list'),
url(r'^blog/(?P\d+)/(?P\d+)/(?P\d+)/(?P[\w\-]+)/$',