First Application With Werkzeug
I have written my first application with Werkzeug. In order to not to write another blog application with another framework, I thought it's better to create something else so I decided on a to do application which I will be using. I have used Jinja2 and SQLAlchemy on this project with Werkzeug.
So, what is Werkzeug?
Werkzeug started as a simple collection of various utilities for WSGI applications and has become one of the most advanced WSGI utility modules. It includes a powerful debugger, fully featured request and response objects, HTTP utilities to handle entity tags, cache control headers, HTTP dates, cookie handling, file uploads, a powerful URL routing system and a bunch of community contributed addon modules.
I have first met Werkzeug when I watched a screencast of Massimo (web2py's author) with a link to Armin Ronacher's screencast Create a Wiki With Werkzeug in 30 mins and to tell the truth, I was impressed. Coming from PHP and still being a PHP developer, Werkzeug made me feel like I would develope applications easier than other frameworks. I have been developing applications with full stack development frameworks like web2py, Django and Ruby on Rails. I like them, I really do but I really enjoy frameworks like sinatrarb, Werkzeug and webpy. They make me feel like I'm really free. I can do anything with them and I definitely have no pressure over anything.
Long story short, Werkzeug provides you everything you need in order to develop a web application. It also comes with URL Routing which is definitely very useful and good. I'm sure you will find Werkzeug pretty interesting and helpful. Don't forget to take a look at the current Werkzeug Documentation.
Werkzeug also easily integrates with Apache/mod_wsgi with some simple configuration which can be found here. For example, you can check to do application's configuration: My wsgi file is here and my apache site configuration is as follows:
<VirtualHost *:80>
ServerName todo.local
WSGIDaemonProcess todo user=mengu group=mengu processes=1 threads=5
WSGIScriptAlias / /home/mengu/projects/todo/todo.wsgi
Alias /static /home/mengu/projects/todo/static/
<Directory /home/mengu/projects/todo/app>
WSGIProcessGroup todo
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
And.. My first Werkzeug application can be found on my github repositories. Enjoy browsing! :)

Comments
Leave a Response