mirror of
https://github.com/kennethreitz/python-guide.git
synced 2026-06-05 23:00:18 +00:00
Added basic section on Chameleon
This commit is contained in:
@@ -414,7 +414,44 @@ into the corresponding block in the :file:`base.html` page.
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
||||
Chameleon
|
||||
---------
|
||||
`Chameleon <https://chameleon.readthedocs.org/>`_ is a template engine which is similar to
|
||||
the Chameleon is an HTML/XML template engine for Python.
|
||||
|
||||
It’s designed to generate the document output of a web application, typically HTML markup or XML.
|
||||
|
||||
The language used is page templates, originally a Zope invention [1], but available here as a standalone library that you can use in any script or application running Python 2.5 and up (including 3.x and pypy). It comes with a set of new features, too.
|
||||
|
||||
The template engine compiles templates into Python byte-code and is optimized for speed. For a complex template language, the performance is very good.
|
||||
|
||||
Here is an example of a template tags in Chameloen:
|
||||
|
||||
The *page templates* language is used within your document structure
|
||||
as special element attributes and text markup. Using a set of simple
|
||||
language constructs, you control the document flow, element
|
||||
repetition, text replacement and translation.
|
||||
|
||||
.. note:: If you've used page templates in a Zope environment previously, note that Chameleon uses Python as the default expression language (instead of *path* expressions).
|
||||
|
||||
The basic language (known as the *template attribute language* or TAL)
|
||||
is simple enough to grasp from an example:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<html>
|
||||
<body>
|
||||
<h1>Hello, ${'world'}!</h1>
|
||||
<table>
|
||||
<tr tal:repeat="row 'apple', 'banana', 'pineapple'">
|
||||
<td tal:repeat="col 'juice', 'muffin', 'pie'">
|
||||
${row.capitalize()} ${col}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
.. rubric:: References
|
||||
|
||||
.. [1] `The mod_python project is now officially dead <http://blog.dscpl.com.au/2010/06/modpython-project-is-now-officially.html>`_
|
||||
|
||||
Reference in New Issue
Block a user