First Steps in Web Development with Python

Miguel Grinberg

HTML5 HTTP Web Servers and MicroFWs (Flask/Tornado/Nginx/...)

Are you a Python beginner interested in learning Web Development? If you find the number of different technologies that you need to learn to build even a simple web site overwhelming, this might be a class for you. I will assume that you have basic Python knowledge and no web development experience, and through a series of lectures and hands-on exercises, I will help you make sense of it all. By the end of the class you will have a high-level understanding of the web development ecosystem, plus a complete starter web application running in your laptop.

This tutorial is going to be for people with basic Python skills, and no or little web development experience.

I will assume attendees have basic Python coding skills. People should be familiar with Python syntax, control structures, and be able to read and understand simple Python scripts. They should also have basic knowledge of the command line on their operating system (Windows, Mac OS X and Linux are all okay).

Students will leave the class with a basic web application running on their laptops. They will also have a high-level understanding of backend and frontend development, and where Python, HTML, JavaScript, CSS, Ajax, etc. fit in.

Outline

Part 1: Theory (1h 30m)
- Introduction to the HTTP protocol: requests and responses.
- The languages of the web: HTML, CSS and JavaScript.
- Backend vs. Frontend development.
- Writing web servers in Python: Flask, Django, and others. What problem do they solve?
- Very brief introduction to asynchronous servers and when it makes sense to use them.

Part 2: Practice (1h 15m)
Using the concepts learned in Part 1, we'll build a small web application with the Flask microframework. The base exercise will be a Python server that shows a generic message in the web browser. This server will later be expanded with a web form that asks the user for their name and then show a personalized greeting. The application will cover the creation of a simple HTML templates and some basic CSS styles.

Part 3: Q&A (15m)
After the hands-on section, I will let students ask any final questions and provide guidance on what areas they should concentrate on to continue on their learning path.

Type: Training (180 mins); Python level: Beginner; Domain level: Beginner

Miguel Grinberg

Miguel Grinberg wrote his first line of code in 1983 and hasn't stopped coding since. He blogs at https://blog.miguelgrinberg.com about a variety of topics including web development, Python, robotics, photography and the occasional movie review. Miguel is the author of the Flask Mega-Tutorial and the O'Reilly book "Flask Web Development". He calls Portland, Oregon home, but is currently on a "working vacation" in Ireland.