GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • index
  • next
  • Cheetah - The Python-Powered Template Engine
  • Show Source
  • Downloading Cheetah
  • Cheetah User’s Guide
  • Introduction
  • Vocabulary
  • Getting Started
  • Language Overview
  • Comments
  • Generating, Caching and Filtering Output

This view

  • Original page
  • New address

GeezerVison is showing pythonhosted.org — Cheetah, the Python-Powered Template Engine — Cheetah - The Python-Powered Template Engine

Navigation

  • index
  • next |
  • Cheetah - The Python-Powered Template Engine »

Table Of Contents

  • Cheetah, the Python-Powered Template Engine
    • Introduction
      • Talk Cheetah
      • Contents
    • Cheetah in a nutshell
    • Why Cheetah?
    • Indices and tables

Next topic

Contributing to Cheetah

This Page

  • Show Source

Quick search

Enter search terms or a module, class or function name.

Cheetah, the Python-Powered Template Engine¶

Introduction¶

Cheetah is an open source template engine and code-generation tool written in Python. Cheetah can be used unto itself, or incorporated with other technologies and stacks regardless of whether they’re written in Python or not.

At its core, Cheetah is a domain-specific language for markup generation and templating which allows for full integration with existing Python code but also offers extensions to traditional Python syntax to allow for easier text-generation.

Talk Cheetah¶

You can get involved and talk with Cheetah developers on the Cheetah mailing list ([email protected]) or on the IRC channel: #cheetah on Freenode

Contents¶

  • Contributing to Cheetah
    • Getting the Code
    • Development Process
    • Filing Bugs
  • Downloading Cheetah
    • Download v2.4.0
  • Cheetah User’s Guide
    • Introduction
    • Vocabulary
    • Getting Started
    • Language Overview
    • Comments
    • Generating, Caching and Filtering Output
    • Import, Inheritance, Declaration and Assignment
    • Flow Control
    • Error Handling
    • Instructions to the Parser/Compiler
    • Tips, Tricks and Troubleshooting
    • Using Cheetah with Webware
    • Non-HTML Output
    • Batteries included: templates and other libraries
    • Visual Editors
    • Useful Web Links
    • Examples
    • Cheetah vs. Other Template Engines
  • Cheetah Recipes
    • Basic Inheritance
    • Precompiled Templates
    • @staticmethod and @classmethod
    • Writing a “Recipe”
  • Cheetah Roadmap
    • Cheetah v2.3
    • Cheetah v2.4
    • Cheetah v3.0
  • Cheetah Developer’s Guide
    • Overview
  • Cheetah Enhancement Proposals
    • Existing CHEPs

Cheetah in a nutshell¶

Below is a simple example of some Cheetah code, as you can see it’s practically Python. You can import, inherit and define methods just like in a regular Python module, since that’s what your Cheetah templates are compiled to :)

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
                        'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 'Hairy'}]

<strong>How are you feeling?</strong>
<ul>
    #for $person in $people
        <li>
            $person['name'] is $person['mood']
        </li>
    #end for
</ul>

Why Cheetah?¶

  • Cheetah is supported by every major Python web framework.
  • It is fully documented and is supported by an active user community.
  • It can output/generate any text-based format.
  • Cheetah compiles templates into optimized, yet readable, Python code.
  • It blends the power and flexibility of Python with a simple template language that non-programmers can understand.
  • It gives template authors full access to any Python data structure, module, function, object, or method in their templates. Meanwhile, it provides a way for administrators to selectively restrict access to Python when needed.
  • Cheetah makes code reuse easy by providing an object-oriented interface to templates that is accessible from Python code or other Cheetah templates. One template can subclass another and selectively reimplement sections of it. Cheetah templates can be subclasses of any Python class and vice-versa.
  • It provides a simple, yet powerful, caching mechanism that can dramatically improve the performance of a dynamic website.
  • It encourages clean separation of content, graphic design, and program code. This leads to highly modular, flexible, and reusable site architectures, shorter development time, and HTML and program code that is easier to understand and maintain. It is particularly well suited for team efforts.
  • Cheetah can be used to generate static html via its command-line tool.

Indices and tables¶

  • Index
  • Module Index
  • Search Page

Navigation

  • index
  • next |
  • Cheetah - The Python-Powered Template Engine »
© Copyright 2009, R. Tyler Ballance. Last updated on Nov 16, 2009. Created using Sphinx 0.6.3.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.