You should be able to execute a terminal emulator (like
and have notions with python. Even if the steps are detailed, some experience with virtualenv may help.
If you skip the virtual environment part, it might require additional work on permissions. Feel free to use virtualenv.
It is recommanded to use a virtualenv for your drink installation:
% virtualenv --no-site-packages --distribute drink_env % . drink_env/bin/activate
Then, you can install drink, either from PyPi (
easy_install drink) or
% wget -O master.zip https://github.com/fdev31/drink/zipball/master % unzip master.zip % cd fdev31-drink-* % python setup.py install
Creating a project¶
Do not forget to activate your virtual environment:
% . drink_env/bin/activate
And chose a folder of your own, that can hold several projects and run
% cd ~/web_apps/ % drink make Project folder: test_project Additional python package with drink objects (can contain dots): test_extensions Ip to use (just ENTER to allow all): HTTP port number (ex: "80"), by default 0.0.0.0:5000 will be used: Objects to activate: a gtd-like tasklist - tasks : y a wiki-like web page in markdown format - markdown : y a tool to find objects in database - finder : y a filesystem proxy, allow sharing of arbitrary folder or static websites - filesystem : y Additional root item name (just ENTER to finish): Project created successfully. You can now go into the /home/fab/web_apps/test_project folder and run - drink db (to start the database daemon) - drink run (to start the web server) If you run with DEBUG=1 in environment, templates and python code should reload automatically when changed. For static files changes, no restart is needed.
Go into the project folder (same name as you answered), and type
% cd ~/web_apps/test_project % drink start
Running drink in debug mode just consists in setting the
1. In this mode, you gain some features:
- Python code reloads automatically (with a bit of luck...)
- HTML Templates are reloaded on every access
- You have a flood of messages about everything happening
- You get a nice interactive debugger in case of programming errors
This can be set in two ways, by editing the
drink.ini file and using debug as the server.backend, as shown by this snippet:
[server] backend = debug
You can also set that behavior directly from the command line:
% DEBUG=1 drink start
The database configurations is hold by
database/zeo.conf, you might want to read ZEO & Zope3 docs in google to know in what way you can customize this, but the defaults should
Action’s icons are in
static/actions/ folder, you can also replace
static/page.css file if you want a custom CSS.
templates/main.html file can be easily customized as well, but this folder is mainly interesting to add your own custom templates (
main.html should be a good base).
An empty python module is also created automatically to fit the information you
gave at make time. Feel free to add your objects inside it, if you add a file
blog_application to that folder, you need to activate it in the
[objects] markdown= blog_application=