Skip to content

Instantly share code, notes, and snippets.

@ionelmc
Created November 10, 2012 23:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ionelmc/4052893 to your computer and use it in GitHub Desktop.
Save ionelmc/4052893 to your computer and use it in GitHub Desktop.
from django.template import Library
register = Library()
@register.simple_tag(takes_context=True)
def active_page(context, page_name):
active = active_class(context, page_name)
return ' class="%s" ' % active if active else active
@register.simple_tag(takes_context=True)
def active_class(context, page_name):
if context.get("current_page") == page_name:
return 'active'
else:
return ''
<ul>
<li {% active_page 'register' %}><a href="{% url 'register' %}">Register</a></li>
...
</li>
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('app.views',
url(r'^register/$', 'register', {
'template_name': 'appregister.html',
'extra_context': {'current_page': 'register'},
}, name='register'),
)
from django.shortcuts import render
def register(request, template_name=None, extra_context={}):
form = ...
return render(request, template_name, dict(
form=form,
**extra_context
))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment