Skip to content

Latest commit

 

History

History

examples

Werkzeug Examples

This directory contains various example applications and example code of Werkzeug powered applications.

Beside the proof of concept applications and code snippets in the partial folder they all have external dependencies for template engines or database adapters (SQLAlchemy only so far). Also, every application has click as external dependency, used to create the command line interface.

Full Example Applications

The following example applications are application types you would actually find in real life :-)

simplewiki

A simple Wiki implementation.

Requirements:

  • SQLAlchemy
  • Creoleparser >= 0.7
  • genshi

You can obtain all packages in the Cheeseshop via easy_install. You have to have at least version 0.7 of Creoleparser.

Usage:

./manage-simplewiki.py initdb
./manage-simplewiki.py runserver

Or of course you can just use the application object (simplewiki.SimpleWiki) and hook that into your favourite WSGI gateway. The constructor of the application object takes a single argument which is the SQLAlchemy URI for the database.

The management script for the devserver looks up the an environment var called SIMPLEWIKI_DATABASE_URI and uses that for the database URI. If no such variable is provided "sqlite:////tmp/simplewiki.db" is assumed.

plnt

A planet called plnt, pronounce plant.

Requirements:

  • SQLAlchemy
  • Jinja2
  • feedparser

You can obtain all packages in the Cheeseshop via easy_install.

Usage:

./manage-plnt.py initdb
./manage-plnt.py sync
./manage-plnt.py runserver

The WSGI application is called plnt.Plnt which, like the simple wiki, accepts a database URI as first argument. The environment variable for the database key is called PLNT_DATABASE_URI and the default is "sqlite:////tmp/plnt.db".

Per default a few python related blogs are added to the database, you can add more in a python shell by playing with the Blog model.

shorty

A tinyurl clone for the Werkzeug tutorial.

Requirements:

  • SQLAlchemy
  • Jinja2

You can obtain all packages in the Cheeseshop via easy_install.

Usage:

./manage-shorty.py initdb
./manage-shorty.py runserver

The WSGI application is called shorty.application.Shorty which, like the simple wiki, accepts a database URI as first argument.

The source code of the application is explained in detail in the Werkzeug tutorial.

couchy

Like shorty, but implemented using CouchDB.

Requirements :

cupoftee

A Teeworlds server browser. This application works best in a non forking environment and won't work for CGI.

Usage:

./manage-cupoftee.py runserver