diff --git a/categories/models.py b/categories/models.py
index 2761521..fba6a6d 100644
--- a/categories/models.py
+++ b/categories/models.py
@@ -31,5 +31,5 @@ class Category(models.Model):
def __unicode__(self):
ancestors = self.get_ancestors()
return ' > '.join([force_unicode(i.name) for i in ancestors]+[self.name,])
-
+
mptt.register(Category, order_insertion_by=['name'])
diff --git a/categories/templates/categories/category_detail.html b/categories/templates/categories/category_detail.html
new file mode 100644
index 0000000..9861c04
--- /dev/null
+++ b/categories/templates/categories/category_detail.html
@@ -0,0 +1,4 @@
+
{{ category }}
+{% if category.parent %}{% endif %}
+{{ category.description }}
+{% if category.children.count %}Subcategories
{% for child in category.children.all %}- {{ child }}
{% endfor %}
{% endif %}
\ No newline at end of file
diff --git a/categories/templates/categories/category_list.html b/categories/templates/categories/category_list.html
new file mode 100644
index 0000000..d49a504
--- /dev/null
+++ b/categories/templates/categories/category_list.html
@@ -0,0 +1,2 @@
+Categories
+
\ No newline at end of file
diff --git a/categories/urls.py b/categories/urls.py
index 5894c64..651c632 100644
--- a/categories/urls.py
+++ b/categories/urls.py
@@ -2,7 +2,7 @@ from django.conf.urls.defaults import *
from categories.models import Category
categorytree_dict = {
- 'queryset': Category.objects.all()
+ 'queryset': Category.objects.filter(level=0)
}
urlpatterns = patterns('django.views.generic.list_detail',
diff --git a/categories/views.py b/categories/views.py
index a635e36..1f06885 100644
--- a/categories/views.py
+++ b/categories/views.py
@@ -1,22 +1,24 @@
from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext
-from categories.models import Category
+from django.http import HttpResponse
from django.views.decorators.cache import cache_page
-from django.core.urlresolvers import reverse
+from django.template.loader import select_template
+from categories.models import Category
+@cache_page(3600)
def category_detail(request, path, with_stories=False,
template_name='categories/category_detail.html'):
-
path_items = path.strip('/').split('/')
- slug = path_items[-1]
- level = len(path_items)
- context = {}
category = get_object_or_404(Category,
- slug__iexact=slug, level=level-1)
-
- context['category'] = category
-
- return render_to_response(template_name,
- context,
- context_instance=RequestContext(request)
- )
+ slug__iexact = path_items[-1],
+ level = len(path_items)-1)
+
+ templates = []
+ while path_items:
+ templates.append('categories/%s.html' % '_'.join(path_items))
+ path_items.pop()
+ templates.append(template_name)
+
+ context = RequestContext(request)
+ context.update({'category':category})
+ return HttpResponse(select_template(templates).render(context))
\ No newline at end of file