Cheetah can be used standalone or combined with other tools and frameworks. Web development is its principle use, but Cheetah is very flexible and is also being used to generate sql, Java, form emails, C++ game code, and even Python code.
Its design was guided by these principles:
· Python for the back end, Cheetah for the front end. Cheetah was designed to complement Python, not replace it.
· Cheetah's core syntax should be easy for non-programmers to learn.
· Cheetah should make code reuse easy by providing an object-oriented interface to templates that is accessible from Python code or other Cheetah templates.
· Python objects, functions, and other data structures should be fully accessible in Cheetah.
· Cheetah should provide flow control and error handling. Logic that belongs in the front end shouldn't be relegated to the back end simply because it's complex.
· It should be easy to separate content, graphic design, and program code, but also easy to integrate them.
Here are some key features of "Cheetah":
· is supported by every major Python web framework.
· is fully documented and is supported by an active user community.
· can output/generate any text-based format.
· compiles templates into optimized, yet readable, Python code.
· blends the power and flexibility of Python with a simple template language that non-programmers can understand.
· 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.
· 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.
· provides a simple, yet powerful, caching mechanism that can dramatically improve the performance of a dynamic website.
· 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.
· can be used to generate static html via its command-line tool.
What's New in This Release: [ read full changelog ]
· 0000020: [Templates] Builtin support for using Cheetah with Django (rtyler)
· 0000021: [Compiler] @static and @classmethod don't properly define the _filter local (rtyler)
· 0000023: [Compiler] Update Template super calls to use super() (rtyler)
· Update all references to communitycheetah.org to point back at cheetahtemplate.org