I want to decouple my big Django app into multiple apps. There is a problem however: navigation. Each application should be able to add its own menu items, leaving other apps' navigation visible.
I don't think it is possible with simple template extending with blocks. A possible solution could be a separate navigation app where every other app can register its menu items. I don't want to create menu items manually via the admin interface. I want something like this:
# in users app:
import navapp
navapp.register(view_name='users_summary', path=('Home', 'Users'))
navapp.register(view_name='user_search', path=('Search', 'User'))
...
# in another app:
import navapp
navapp.register(view_name='other_stuff', path=('Home', 'Other stuff'))
navapp.register(view_name='about', path=('About',)
...
In base.html
: import a templatetag from navapp and use it somehow to render menu.
Of course, my example is simplified (e.g., I purposely omitted ordering of menu items, though it is important), but I hope it conveys the idea.
Is there already a reusable app for this purpose? If not, what is the best approach to implement it?
I have found a similar question: http://answers.splunk.com/answers/125820/single-navigation-for-multiple-apps
What I want is similar to django cms menu integration but I don't want to mess with django-cms. I need a little app instead.