278
Comment: missing edit-log entry for this revision
|
← Revision 20 as of 2013-02-04 19:54:13 ⇥
2506
shorten title
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
There are several different styles of presentation technology employed in the various Web application frameworks (see WebProgramming). | ## page was renamed from TemplatingSystems ## page was renamed from PresentationTechnologies #pragma section-numbers off == Data on the web == There are several approaches to represent data using Python on a web page (see WebProgramming). |
Line 5: | Line 11: |
* [[Programmatic]] | |
Line 6: | Line 13: |
Feel free to add more abstract descriptions to help people decide what they are looking for! | Another interesting article about this is [[http://www.perl.com/pub/a/2001/08/21/templating.html|"Choosing a Templating System"]]. === Syntax === Different approaches lead to different design decisions. Often it is the principal reason that new template systems get invented: * ElementBasedSyntax * CommentBasedSyntax * AttributeBasedSyntax === 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 ==== * Castalian * [[Cheetah]] * PSP (from [[Webware]]) * [[Spyce]] ==== StructureAnnotation ==== * ClearSilver * DOMTemplate (from TwistedMatrix) * DTML (Document Template Markup Language - see [[Zope]]) * [[http://www.twistedmatrix.com/documents/howto/woven|Woven]] (from TwistedMatrix) * wt (see JonsPythonModules) * ZPT (Zope Page Templates - see [[Zope]]) ==== Hybrids ==== * CHTL and CGTL (from CherryPy) - PythonInWebPage and StructureAnnotation * PyMeld - StructureAnnotation and [[Programmatic]] * [[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 [[http://pythonjournal.cognizor.com|'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. |
Data on the web
There are several approaches to represent data using Python on a web page (see WebProgramming).
Another 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.