Web Application Programming in Pyramid

Learn to build web applications using Pyramid, a powerful and flexible Python web framework

In this course, you will create a web application using the Pyramid web framework. You'll learn how Pyramid handles such concepts as request routing, views and renderers, data persistence, authentication and authorization and more. 

The course is available as a one week in-depth course and as a one- or two-day tutorial.  The topics covered remain the same, but the thoroughness with which they are covered and the degree of freedom of expression for students will change depending on the format chosen.

You will Learn

  • the Pyramid expressions of common web application concepts such as Model, View and Controller
  • data persistence using SQLAlchemy
  • the Pyramid authentication and authorization frameworks
  • using predicates to control view selection, rendering and more
  • application testing using pytest

You will Build

A learning journal suitable for recording your growth as a Pyramid web developer.  The journal features markdown editing with syntax highlighting, AJAX interactions, an authentication and authorization system and more.  By the end of class you will deploy the application to Heroku.

You Will Need

Basic Python Programming Skills
This is not a beginning Python course. A basic understanding of the fundamental syntax and structures of Python will be required.
Basic Knowledge of HTML
You should know enough to be able to create a page with headers, lists and forms
Working Knowledge of a Text Editor
You must to be able to create, edit, save and delete files quickly and comfortably
Working Knowledge of the Command Line
You must be able to change directories, run commands and manage files (create, copy and remove)
A Network Enabled Laptop Computer
We will be fetching resources from the network regularly. Wired network access is available in the room, but you will need to be able to troubleshoot any connection issues for your own machine
Python 2.7 or 3.x
This course can be taught in either Python 2 or Python 3.  Individual iterations of the class will use only one version, however.