Welcome to Nevow
This page contains examples of how to build web applications on top of Nevow, in order of increasing complexity. To get a feel of how to structure your Python code while using Nevow, the source of all examples is linked for easy reference. In order to run each example, you will need Zope Interface, Twisted, and Nevow installed, and then you will need to run the example server.
Under windows: you need to run the Twisted Shell from Start-->Applications-->Twisted menu. Under a unix like operating system, make sure that the twistd binary is on your PATH. Installing Twisted will do this for you.
To run the example server, go to the Nevow examples directory (eg: C:\Nevow\examples or /usr/src/Nevow/examples) and run the following command:
twistd -noy examples.tac
Then, to view the running examples, point your web browser at: http://localhost:8080/
Once you are viewing this page as served by the example server, all of the "live" links below will work.
Table of Contents
- Test Suite
- Examples
- LivePage/Canvas/XUL
- Tag Library Examples
- Demo Applications
Test Suite
Nevow 0.4 now includes a live test runner which operates inside of your web browser. The test runner currently operates only under Firefox, and not IE or Safari. This will be fixed in a future release. Test suites for some of the examples provided here have been written. The following test suites may be executed by visiting their respective pages:
- Run basic tests
- Run livepage example tests
- Test test harness
Examples Listing
-
A Nevow example that doesn't use any of Nevow automations
-
Hello world in Nevow
- How to get Session and Request objects from the context
-
Render tables in Nevow
- How to use xmlfile directives
- How to handles page children with Nevow, and how to use the <nevow:attr> tag
- Allow data= directives to look inside application objects
- Manual form example
- Advanced manual form example
- Formless example
- Another formless example, but a little bit more complex
- Example of interacting with a database
- An example of using HTTP Basic Auth for simple authentication
- Various examples of how to integrate twisted.guard with Nevow for authentication
- Examples of how to access the session when a user logs out of guarded sites
- Use Configurables to render a form with Formless in a customized template
- Dynamically build your forms
- Adapting an object to the IRenderer interface in order to make it render itself
- More complex example of adapting objects to IRenderer and to different interfaces
- Handling and building a Tree structure dynamically on yor site
- Simple example of text localisation
- Localisation of disk templates
LivePage/Canvas/XUL
-
Chatola: A multiuser realtime chat application using LivePage
-
LiveAnimal: A small LivePage game
-
Integration between Flash(TM) and Nevow
-
Integration between XUL and Nevow
Tag Library Examples
- How to use the Calendar tag from the taglibrary
- How to use the TabbedPane tag from the taglibrary
- How to use the Progressbar tag from the taglibrary
Demo Applications
- Extremely basic library, made with atop
- Handling users in a web site
- Liveevil example in a live chat page
- Pastebin example with nevow
- Blog engine
- Link storage webservice (uses Twisted's XML-RPC)
- Todo list with rails like file structure (requires pgasync 1.3b and postgres)
- Image uploader that uses atop