Another reusable app for organize tree menus on django site
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


PyPi downloads

Another reusable app for organize tree menus on django site This app need grapelli admin theme

Alt text

Install from pip

pip install django-treemenu

Install from git

pip install git+git+git://

Then run python manage syncdb or if your use south run python manage migrate


Add treemenu in

        # ...
        feincms, # need for tree editor
        # ...

Create menu and in your template


Simple menu without childrens

{% load treemenu_tags %}
{% menu you_menu_slug %}
<div class="b-menu-vert b-menu-vert_type_header">
    <ul class="b-menu-vert__layout">
        {% for item in menuitems %}
        <li class="b-menu-vert__layout-unit {% if forloop.first %}b-menu-vert__layout-unit_position_first{% endif %} {% if forloop.last %}b-menu-vert__layout-unit_position_last{% endif %}">
            <div class="b-menu-vert__item">
                <a class="b-link b-menu-vert__root {% if item.current %}b-big{% endif %}" href="{{ item.url }}">{{ item.title }}</a>
        {% endfor %}

Dropdown menu

{% load treemenu_tags mptt_tags %}
{% menu topmenu %}
<div class="b-menu-horiz b-menu-horiz_layout_normal b-menu-horiz_position_topmenu">
    <ul class="b-menu-horiz__layout">
        <li class="b-menu-horiz__layout-unit b-menu-horiz__layout-unit_position_first"><div class="b-menu-horiz__item b-menu-horiz__item_layout_home {% if request.path == '/'%}b-menu-horiz__item_state_current{% endif %}"><a href="/" class="b-link"><img alt="" src="{{ STATIC_URL }}prazdnik/img/blank.gif" class="b-icon b-icon_type_home"></a></div></li>
        {% recursetree menuitems %}
            <li class="{% if node.level == 0%}b-menu-horiz__layout-unit{% else %}b-menu-vert__layout-unit{% endif %}">
                <div class="
                    {% if node.level == 0%}b-menu-horiz__item{% else %}b-menu-vert__item{% endif %}
                    {% if node.level == 0 and node.current %}b-menu-horiz__item_state_current {% endif %}
                    {% if node.current %}b-menu-vert__item_state_current {% endif %}">
                    <a href="{{ node.url }}" class="b-link">{{ node.title }}</a>
                    {% if not node.is_leaf_node %}
                    <div class="b-menu-horiz__submenu">
                        <div class="b-menu-vert">
                            <ul class="b-menu-vert__layout">
                                {{ children }}
                    {% endif %}
        {% endrecursetree %}