Generating HTML
Python does not come with tools to generate HTML. If you want an advanced framework for structured HTML generation, I recommend Robin Friedrich’s HTMLGen 2.2 (available at http://starship.python.net/crew/friedrich/HTMLgen/html/main.html), but I do not cover the package in this book. To generate XHTML, you can also use the approaches covered in Section 23.4 in Chapter 23.
Embedding
If your favorite approach is to embed Python code within HTML in the manner made popular by JSP, ASP, and PHP, one possibility is to use Python Server Pages (PSP) as supported by Webware, mentioned in Chapter 20. Another package, focused more specifically on the embedding approach, is Spyce (available at http://spyce.sf.net/). For all but the simplest problems, development and maintenance are eased by separating logic and presentation issues through templating, covered in the next section. Both Webware and Spyce optionally support templating in lieu of embedding.
Templating
To
generate HTML, the best approach is often templating. With
templating, you start with a template
, which is
a text string (often read from a file, database, etc.) that is valid
HTML, but includes markers, also known as placeholders, where
dynamically generated text must be inserted. Your program generates
the needed text and substitutes it into the template. In the simplest
case, you can use markers of the form
'%(
name
)s
‘.
Bind the dynamically generated text as the value for key
'name
'
in some dictionary d
Get Python in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.