Django template loader that supports HamlPy
Switch branches/tags
Nothing to show
Pull request Compare This branch is 23 commits behind chartjes:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

-- markdown --

Djaml is a template loader for Django that allows you to use HamlPy in your templates

It is based on the django-shpaml-template-loader project, and is licensed under the MIT license.


  • Django -- I've tested it using Django 1.2.x, 1.3.0 and the version of Django that is included with the djangoappengine project
  • HamlPy -- tested using version as of December 4, 2010


You can either copy all the files into 'djaml' in the root of your Django project or install it using the included file.

Having done that, you need to add djaml as the first item in TEMPLATE_LOADERS


If you don't put djaml first, then the standard Django template loaders will try and process it first.

Make sure your templates have a .haml extension, and put them wherever you've told Django to expect to find templates.


Here's a sample of what a Django layout file looks like using Haml:

<!DOCTYPE html>
    %meta{'http-equiv': 'Content-Type', 'content': 'text/html; charset=UTF-8'}
    %title Internet Baseball League
    %link{'rel': 'stylesheet', 'type': 'text/css', 'href':'/site_media/css/grid.css'}
    %link{'rel': 'stylesheet', 'type': 'text/css', 'href':'/site_media/css/ibl.css'}
    %script{'src': "/site_media/js/modernizr-1.7.min.js"}
    %div{'class': 'row'}
      #sidebar{'class': 'column grid_2'}
        %img{'src': '/site_media/images/ibl_logo.gif', 'alt': 'IBL Logo'}<br>
              %a{'href': '{% url home %}'} Home
              %a{'href': ''} Archive
              %a{'href': ''} Cards
              %a{'href': ''} Constitution
              %a{'href': '{% url free-agents %}'} Free Agents
              %a{'href': ''} Owners
              %a{'href': '/results'} Results
              %a{'href': '/rotations'} Rotations
              %a{'href': '/schedule'} Schedule
              %a{'href': '/standings'} Standings
              %a{'href': '/starts'} Starts / Limits
              %a{'href': ''} Wiki

      #container{'class': 'column grid_10'}
        {% block content %}
        {% endblock %}

Questions or Feedback

If you have any questions or comments, send some email to