Baby Steps with Pylons

Last Sunday I got a web application idea, and figured it was finally time to start learning Pylons for real. I verified earlier that Pylons can work on Dreamhost; I was just missing an idea to work on (and of course some time).

I have had mixed feelings, although overall pretty positive, and no such frustrations I had when learning Android.

My first stumbling block was that I tried to use the Pylons that is available from the Ubuntu Gutsy Gibbon repositories, but it is not the latest and the tutorials assume you are using the latest. There were a few differences already, like Mako templates not being the default in the Gutsy version. I solved this by creating a virtual Python environment for myself and installing the latest Pylons there.

The next stumbling block are the Pylons sample applications. Apart from the Pylons Hello World tutorial, the QuickWiki and Flickr did things backwards: they start by installing and configuring the ready made application and then walking through creating them, which made me pretty confused.

I usually don’t watch screencasts but I figured it might be a good way to get me up to speed quickly. I was right, but there were some complications. The problem was that a nice Pylons screencast uses yet another module called Tesla, which is not installed or covered by Pylons. I decided I wanted to do my first application without Tesla to learn SQLAlchemy the hard way first. The SQLAlchemy documentation seems pretty good, but there is a huge amount of it.

Luckily Pylons project has produced some great documents for people in a hurry. The “in a hurry” guides filled in a lot of the questions raised by the backwards tutorials and the Tesla-using screencast. Somehow I was still left wishing there was another, more fleshed out, database-using tutorial that started from the beginning rather than end. Maybe a small content management system? The specialized documents, like Pylons form handling, seem also pretty good.

Pylons has forced me to refresh my knowledge of several areas, including basic web UI design and implementation, database design, SQL and ORMs, and probably some other areas I am forgetting. Nevertheless, I finally have my application in a state where it is fetching things from the database and displaying them in a nice format. I plan on hosting the finished application on Dreamhost eventually, but until then you’ll have to excuse me as I turn back to hacking.

Similar Posts:

    None Found