I am trying to use django-sitetree but I don\'t understand how to do step 3 which is:
\"Go to Django Admin site and add some trees and tree items.\"
How to make
To create a tree:
Create first item:
Parent: As it is root item that would have no parent.
Title: Let it be 'My site'.
URL: This URL is static, so put here '/'.
Create second item (that one would handle 'categoryname' from your 'categoryname/entryname'):
Parent: Choose 'My site' item from step 5.
Title: Put here 'Category #{{ category.id }}'.
URL: Put named URL 'category-detailed category.name'.
In 'Additional settings': check 'URL as Pattern' checkbox.
Create third item (that one would handle 'entryname' from your 'categoryname/entryname'):
Parent: Choose 'Category #{{ category.id }}' item from step 6.
Title: Put here 'Entry #{{ entry.id }}'.
URL: Put named URL 'entry-detailed category.name entry.name'.
In 'Additional settings': check 'URL as Pattern' checkbox.
Steps 6 and 7 need some clarifications:
In titles we use Django template variables, which would be resolved just like they do in your templates.
E.g.: You made your view for 'categoryname' (let's call it 'detailed_category') to pass category object into template as 'category' variable. Suppose that category object has 'id' property. In your template you use '{{ category.id }}' to render id. And we do just the same for site tree item in step 6.
In URLs we use Django's named URL patterns (documentation). That is almost idential to usage of Django 'url' tag in templates.
Your urls configuration for steps 6, 7 supposed to include:
url(r'^(?P
\S+)/(?P \S+)/$', 'detailed_entry', name='entry-detailed'),
url(r'^(?P\S+)/$', 'detailed_category', name='category-detailed'), So, putting 'entry-detailed category.name entry.name' in step 7 into URL field we tell sitetree to associate that sitetree item with URL named 'entry-detailed', passing to it category_name and entry_name parameters.
I hope this description should fill the documentation gap %)