7517
Comment:
|
7651
|
Deletions are marked like this. | Additions are marked like this. |
Line 104: | Line 104: |
* [https://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/366000 HTMLTags ] * [https://www.livinglogic.de/Python/xist/ XIST ] |
See also:
[https://python.domainunion.de/sigs/web-sig/ Web SIG] (the Python Web Special Interest Group)
DatabaseProgramming (guidance on available DatabaseInterfaces and related tools)
- ["PythonAndJ2EE"] (comparison of various frameworks to J2EE)
[https://python.domainunion.de/topics/web/ The old but still useful Web Programming topic guide]
CgiScripts (information on writing CGIs in python)
Steve Holden wrote a book on [https://pydish.holdenweb.com/pwp/ Python Web Programming]. The book from John Goerzen, [https://www.apress.com/book/bookDisplay.html?bID=363 Foundations of Python Network Programming], can also be useful. Finally, check out the Web Programming chapter in [https://starship.python.net/crew/wesc/cpp/ Core Python Programming] by Wesley Chun.
ContentManagementSystems (Web frameworks can be used to build these)
This topic guide links to the frameworks and templating systems available for Web programming in Python.
To Do
- The templating systems should really get a different page layout, showing examples etc.
- Describe PHP and Java in the same format as quite a few will want to compare to them anyway
Is there any interest in a WebProgrammingShootOut?
Editor: DanielDittmar (this means only that I will adapt the entries to changes in the WebProgrammingTemplate and that I will try to keep the version entries current)
Python-based
The listing is up-to-date as of 2003-02-11
Standardisation and Standardisation Proposals
["WebStack"]
[https://python.domainunion.de/peps/pep-0333.html PEP 333: Web Server Gateway Interface] - see also ["WSGIImplementations"]
Web Servers
TwistedMatrix includes a very scalable web server written in Python.
Application Frameworks
- ["Albatross"]
- ["Aquarium"]
- ["Draco"]
[https://csoki.ki.iif.hu/~vitezg/impostor/ Impostor]
[https://jotweb.tummy.com/ JOTWeb]
- ["Karrigell"]
[https://www.divmod.org/Home/Projects/Nevow/index.html Nevow] see also the [https://divmod.org/users/wiki.twistd/nevow/moin.cgi Nevow Wiki]
PythonWebModules see also the [https://www.pythonweb.org Web Modules Homepage]
[https://www.qlime.org QLime]
- ["Quixote"]
[https://snakelets.sourceforge.net/ Snakelets]
- ["Webware"]
- ["Zope"]
Variable Insertion-Replacement Templating Applications (Pre-processors)
There are many, many different HTML templating libraries for Python that provide different feature sets and syntaxes. These libraries assume that you know how to write HTML, and can figure out how to repeat chunks of HTML in order to produce the
The number of libraries is so great because such libraries are pretty easy to write in Python; [https://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52305 this recipe from the Python Cookbook] shows how easy it is.
- ["Castalian"]
- ["Cheetah"]
[https://www.nthwave.net/elements/ Elements]
[https://freespace.virgin.net/hamish.sanderson/htmltemplate.html HTMLTemplate]
[https://htmltmpl.sourceforge.net/ htmltmpl]
[https://myghty.zzzcomputing.com/ Myghty]
- ["pso"]
[https://www.owlfish.com/software/simpleTAL/ SimpleTAL]
- ["Spyce"]
[https://www.pytan.com/spytee.html Spytee]
Server-embedded Python
ModPython for Apache
- ["PyWX"] for AOLServer
Web-based XML processing engines
- ["4Suite"]
- ["maki"]
HTML Shorthand Processors
The libraries in this section implement simpler markup languages that can be automatically converted to HTML. This lets you avoid having to write HTML by hand.
[https://txt2tags.sourceforge.net/ txt2tags]
HTML Generation class libraries
[https://starship.python.net/crew/friedrich/HTMLgen/html/main.html HTMLgen]
[https://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/366000 HTMLTags ]
Jython-accessible Java toolkits
[https://cajo.dev.java.net The cajo project]: spontaneous internetworking between Virtual Machines and browsers.
Servlet-like Engines
Variable Insertion-Replacement Templating Applications (Pre-processors)
[https://java.sun.com/products/jsp Java Server Pages, JSP]
[https://freemarker.org/index.html FreeMarker] (with Jython data binding)
Python-accessible C toolkits
ClearSilver (HTML generation)
Utility modules
[https://www.chrisarndt.de/en/software/python/#auth Auth modules] - a module collection for authentication purposes
[https://www.voidspace.org.uk/python/modules.shtml#dataenc Dataenc] - allows secure and time limited logins to be encoded into webpages for use with web applications
[https://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/305288 HTTP basic authentication example]
Related Links
The Web Framework Shootout at https://colorstudy.com/docs/shootout.html also covers several of these frameworks.
This topic guide started out as a word by word copy of PaulBoddie's [https://www.boddie.org.uk/python/web_frameworks.html Python Web Frameworks Overview].
OriginalWebProgrammingClassification is an older listing of Python-related web tools, and is now out of date and only of historical interest.
Notes on Editing
Opinions based on experience are welcome, but framework or templating system authors should sign their comments with InTheirOwnWords to admit to a certain bias.
The rather strict format of the main entries (described in WebProgrammingTemplateHelp) should not been seen as a limit. Feel free to add new pages containing examples, direct comparisons etc.
When adding new entries choose WebProgrammingTemplate when creating the page.
Discussion
For a set of comparisons of my real-world experiences with a bunch of the web solutions described on this page, check my WebSolutionComparison page. These are NOT impartial and unbiased comparisons; these are my personal experiences from building real web sites. Feel free to add your own comparisons.
Wait- I don't understand-
Why were BaseHttpServer, DocXmlRpcServer, CgiScripts taken out?
I'd think that on a page on WebProgramming, those things would be listed.
-- LionKimbro DateTime(2004-08-02T14:36:38Z)
Other things:
- The reorganisation is presumably to help people find the right framework - things like simple CGI-based APIs might not be cutting edge stuff, but they're potentially very useful if you don't have a "full" hosting account.
- I didn't really agree with some aspects of the revised classifications. I think the template systems need their own page, and the multiple classifications really need banishing to another page where they'll confuse only the experts.