Skip to content

Instantly share code, notes, and snippets.

@SmileyChris
Last active August 29, 2015 13:59
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 SmileyChris/10611277 to your computer and use it in GitHub Desktop.
Save SmileyChris/10611277 to your computer and use it in GitHub Desktop.
flatpages template tag
@register.assignment_tag
def flatpages(a, b, *order_first):
"""
Get the flatpages, optionally with specific ones ordered first.
Usage::
{% flatpages '/home/' '/about/' as flatpages %}
{% for flatpage in flatpages %}...{% endfor %}
"""
flatpages = list(FlatPage.objects.all())
flatpages.sort(key=lambda page: (order_first.index(page.url) if page.url in order_first else len(flatpages))
return flatpages
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment