Navigation on the site using flat pages, URL patterns and Views
Project description
install using pip:
pip install django-site-navigation
add “site_navigation” to your INSTALLED_APPS:
INSTALLED_APPS = (
...
'site_navigation'
)
add “site_navigation.context_processors.getNavigationProperties” to your TEMPLATE_CONTEXT_PROCESSORS:
TEMPLATE_CONTEXT_PROCESSORS = (
...
'site_navigation.context_processors.getNavigationProperties'
)
add “site_navigation.middleware.RedirectMiddleware” to your MIDDLEWARE_CLASSES:
MIDDLEWARE_CLASSES = (
...
'site_navigation.middleware.RedirectMiddleware'
)
add in urls.py:
from navigation.utils import addUrl
urlpatterns += addUrl('default_page.html')
create table:
python ./manage.py migrate
create templates: default_page.html
{% load site-navigation %}
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta name="description" content="{{ NAVIGATION_SUBDIVISION.description|default_if_none:'' }}">
<meta name="keywords" content="{{ NAVIGATION_SUBDIVISION.keywords|default_if_none:'' }}">
<title>
<title>
{% if NAVIGATION_SUBDIVISION.title %}{{ NAVIGATION_SUBDIVISION.title }}
{% elif NAVIGATION_SUBDIVISION.pageTitle %} {{ NAVIGATION_SUBDIVISION.pageTitle }}
{% elif NAVIGATION_SUBDIVISION.name %}{{ NAVIGATION_SUBDIVISION.name }}
{% else %}{{ SITE_OPTIONS.title }}{% endif %}
</title>
</title>
</head>
<body>
{% breadcrumbs %}
<h1>
{% if NAVIGATION_SUBDIVISION.pageTitle %}
{{ NAVIGATION_SUBDIVISION.pageTitle }}
{% else %}
{{ NAVIGATION_SUBDIVISION.name }}
{% endif %}
</h1>
{% block beforecontent %}
{{ NAVIGATION_SUBDIVISION.before|default_if_none:''|safe }}
{% endblock %}
{% block content %}{% endblock %}
{% block aftercontent %}
{{ NAVIGATION_SUBDIVISION.after|default_if_none:''|safe }}
{% endblock %}
</body>
</html>
menu.html
{% for sub in subdivisions|dictsortreversed:"priority" %}
<li {% if sub == NAVIGATION_SUBDIVISION %} class="active" {% endif %}>
<a href="{{ sub.getUrl }}" >
{{ sub }}
</a>
</li>
{% endfor %}
breadcrumbs.html
<ul>
<li><a href="/">Home</a></li>
{% for s in NAVIGATION_BRANCH %}
<li>{% if not forloop.last %}
<a href="{{ s.getUrl }}">{{ s.name }}</a>
{% else %}
{{ s.name }}
{% endif %}
</li>
{% endfor %}
</ul>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.