2533
Comment: converted to 1.6 markup
|
2463
fix terminology
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from PresentationTechnologies | |
Line 3: | Line 4: |
== Presentation Styles == | == Templating Systems == |
Line 5: | Line 6: |
There are several different styles of presentation technology employed in the various Web application frameworks (see WebProgramming). | There are several approached to represent data in Web application frameworks (see WebProgramming). |
Line 11: | Line 12: |
An interesting article which introduces other useful terminology is [[http://www.perl.com/pub/a/2001/08/21/templating.html|"Choosing a Templating System"]]. | An interesting article about this is [[http://www.perl.com/pub/a/2001/08/21/templating.html|"Choosing a Templating System"]]. |
Line 15: | Line 16: |
In the area of syntax, several different design decisions are made alongside the above classifications, and this is often the principal reason that new template systems get invented: | Different approaches lead to different design decisions. Often it is the principal reason that new template systems get invented: |
Templating Systems
There are several approached to represent data in Web application frameworks (see WebProgramming).
An interesting article about this is "Choosing a Templating System".
Syntax
Different approaches lead to different design decisions. Often it is the principal reason that new template systems get invented:
Examples
Some presentation systems fall neatly into the categories above. Others are less easy to classify but have a closer association to one category than the others.
PythonInWebPage
StructureAnnotation
DOMTemplate (from TwistedMatrix)
DTML (Document Template Markup Language - see Zope)
Woven (from TwistedMatrix)
wt (see JonsPythonModules)
ZPT (Zope Page Templates - see Zope)
Hybrids
CHTL and CGTL (from CherryPy) - PythonInWebPage and StructureAnnotation
STML (from SkunkWeb) - PythonInWebPage, StructureAnnotation, and Programmatic being all equally apt (or equally inadequate)
Programmatic
PTL (from Quixote)
Notes
Feel free to add more abstract descriptions and more examples to help people decide what they are looking for!
Do you need to use full-fledged python, embedded bits of definitions but no functions -- there is a range of options depending on your problem. Sometimes there's no python in "the output page" -- as in raw documents put thru a filter. Or there may be limited amounts of embedded python -- as in YAPTU and other filters. Or python may be the matrix language, with text embedded within it. Your handler code can be anything from a substituter (using, say, regular expressions to catch things to be altered) to a mini python engine. See 'Python Journal 3(1)' a feature article that draws together several of the options above into a series on the pure-text to pure-python "dimension". See what your options are.