Lo-Fi Python

Mar 29, 2016

Getting Started With web2py

Feeling really good about my progress with web2py. The tutorial videos are comprehensive, yet easy to understand. For a beginner, the "batteries included" philosophy that web2py has embraced is a godsend. This means everything you need to get creating comes stock. I downloaded the web2py program, ran it, entered a password, and was immediately using a functional development interface.

web2py follows the Model - View - Controller software architecture - which means it separates out the activities of programs into a few different layers (please forgive my oversimplified explanations):

  • Model - Stores data / used in tutorial for database table creation (Written in Python)
  • Controller - Used to define page functions (Python)
  • Views - What the user sees (HTML/CSS/Javascript)
en300

(Image from web2py Documentation)

If you're thinking about trying web2py here's a few things that I've really liked so far:

  • I have minimal knowledge outside of a few basic concepts of server operations. web2py provides a few simple lines of code that allows quick creation of a table (done in model) and corresponding form (done in controller/view) to add entries to the table and display form submissions elsewhere on your site.
  • Right now, I'm enjoying learning about the Database Abstraction Layer (DAL), which is pretty cool because you can rapidly run and test complex server queries within it.
  • It's set up for multiple applications, so I can create and play with several projects at once, whether simple applications or more complex websites.

There are 30 videos total on the web2py documentation page, and I've only watched 11 of them but have already learned a ton. The style of the Massimo Di Pierro is great because you often pick up on some golden nuggets of coding wisdom and programming tips while he walks you through the topic.

It's pretty sweet to be able to create and manipulate a website so quickly; still need to learn more, such as pick up CSS to really make it my own. But for now I'm happy for the many small accomplishments that have been easier to reach thanks to web2py.

Update: consider using py4web, web2py's successor

See also: Useful Links for web2py Beginners