Python Training

Python for Web Development

Python is used by tech firms worldwide. This course focuses on how to create modern back-end websites using the Flask web framework, an elegant, thriving tool used by companies like Pinterest and Twilio to power billions of requests per month.

This intensive face-to-face training course will help you get started with web development and teach you modern best practices for creating maintainable codebases in teams.

Prerequisites

Prior experience with programming (in any language) is assumed.

Expected Outcomes

By the end of the course, you will have all the knowledge you need to build dynamic database-backed web apps and API endpoints with Flask. You will gain very useful and marketable skills in a popular and powerful web technology stack. This will help you start contributing immediately to an existing web development team.

Days 1–3: You will learn about the essentials of web development in Python, including templating, handling requests and sessions, databases, and creating RESTful web APIs.

Day 4: You will learn best practices for writing maintainable code in teams and principles, tips and tricks for deploying code to production in a seamless, scalable way.

Course Syllabus

Day 1: Python basics

Day 1 covers how to use the Python language for basic scripting and automation tasks, including tips and tricks for making this easy:

  • Why use Python? What’s possible?
  • Development environments: Jupyter for prototyping and IDEs (PyCharm, VS Code)
  • Python concepts: an introduction through examples
  • Essential data types: strings, tuples, lists, dicts, and their derivatives
  • Creating scripts, modules and packages
  • Worked example: fetching and ranking real-time data from a web API
  • Raising and handling exceptions

Day 2: Web development in Flask

Day 2 teaches you the basics of how to create websites using Flask, an elegant, thriving Python web framework used by companies like Pinterest and Twilio to power billions of requests per month:

  • Introduction to web development with Flask
  • Handling GET and POST requests and parameters
  • HTTP responses and status codes; MIME types
  • Templating with Jinja2
  • Sessions and cookies
  • Debugging web apps

Day 3: Database handling and RESTful APIs

Day 3 teaches you how to interface Python websites with SQL databases and how to create web APIs:

  • Introduction to handling databases with Flask and SQLAlchemy
  • Database migrations
  • Introduction to CRUD apps and RESTful APIs
  • Creating web APIs and OpenAPI docs with Flask Connexion

Day 4: Best practices and deployment

Day 4 teaches you about some “best practices” of development using Python, including tips and tricks for writing maintainable code in teams. It also shows you how to deploy websites to production in a scalable, secure way.

  • Python style guide and docstring guidelines. Linting tools: pylint, Black
  • Security essentials: HTTPS, permissions; common gotchas; automated security vulnerability scanning with Bandit
  • Introduction to logging and unit testing of web apps; test-driven development
  • Tips and tricks for writing elegant Python
  • Scalability: efficiency profiling, scaling patterns, load testing
  • Deployment options; WSGI; cloud and FaaS deployment options
  • Where to from here; further resources

Supplemental materials

You will receive a printed workbook, cheat sheets, and a USB stick containing kitchen-sink Python installers for multiple platforms, solutions to the programming exercises, several written tutorials, and reference documentation on Python and the third-party packages covered in the course.

Other information

Personal help:
Your trainer(s) will be available after the course each day for you to ask any one-on-one questions you like — whether about the course material and exercises or about specific problems you face in your work and how to use Python to solve them.
Food and drink:
We will provide lunch, morning and afternoon tea, and drinks.
Timing:
The course will run from 9:00 to roughly 17:00 each day, with a breaks of 50 minutes for lunch and 20 minutes each for morning and afternoon tea.

Upcoming Courses

There are currently no events. Contact Us to arrange an event in your location.

Upcoming Public Courses

Sydney

Python for Scientists & Engineers:
27 May – 30 May 2019

60 Margaret Street (Level 13), Sydney CBD

View Details Brochure Book Now

Sydney

Python for Geospatial Analysis:
27 May – 31 May 2019

60 Margaret Street (Level 13), Sydney CBD

View Details Brochure Book Now

Sydney

Introduction to Python:
27 May – 28 May 2019

60 Margaret Street (Level 13), Sydney CBD

View Details Brochure Book Now

Melbourne

Python for Geospatial Analysis:
17 Jun – 21 Jun 2019

440 Collins Street (Level 1), Melbourne CBD

View Details Brochure Book Now

Melbourne

Python for Scientists & Engineers:
17 Jun – 20 Jun 2019

440 Collins Street (Level 1), Melbourne CBD

View Details Brochure Book Now

Melbourne

Introduction to Python:
17 Jun – 18 Jun 2019

440 Collins Street (Level 1), Melbourne VIC 3000

View Details Brochure Book Now

Canberra

Introduction to Python:
24 Jun – 25 Jun 2019

10 Moore Street (Level 2), Civic

View Details Brochure Book Now

Canberra

Python for Scientists & Engineers:
24 Jun – 27 Jun 2019

10 Moore Street (Level 2), Civic

View Details Brochure Book Now

Canberra

Python for Geospatial Analysis:
24 Jun – 28 Jun 2019

10 Moore Street (Level 2), Civic

View Details Brochure Book Now

Melbourne

Python for Predictive Data Analytics:
22 Jul – 25 Jul 2019

Level 1, 440 Collins Street, Melbourne CBD

View Details Brochure Book Now

Melbourne

Introduction to Python:
22 Jul – 23 Jul 2019

440 Collins Street (Level 1), Melbourne CBD

View Details Brochure Book Now

Brisbane

Introduction to Python:
19 Aug – 20 Aug 2019

288 Edward Street (Level 3), Brisbane

View Details Brochure Book Now

Brisbane

Python for Scientists & Engineers:
19 Aug – 22 Aug 2019

288 Edward Street (Level 3), Brisbane

View Details Book Now

Brisbane

Python for Geospatial Analysis:
19 Aug – 23 Aug 2019

288 Edward Street (Level 3), Brisbane

View Details Book Now

Sydney

Introduction to Python:
26 Aug – 27 Aug 2019

60 Margaret Street (Level 13), Sydney CBD

View Details Brochure Book Now

Sydney

Python for Predictive Data Analytics:
26 Aug – 29 Aug 2019

Level 13, 60 Margaret Street, Sydney

View Details Brochure Book Now

Sydney

Python for Network & Systems Engineers:
23 Sep – 26 Sep 2019

60 Margaret Street (Level 13), Sydney CBD

View Details Book Now

Sydney

Introduction to Python:
23 Sep – 24 Sep 2019

60 Margaret Street (Level 13), Sydney CBD

View Details Brochure Book Now

Melbourne

Introduction to Python:
21 Oct – 22 Oct 2019

440 Collins Street (Level 1), Melbourne VIC 3000

View Details Brochure Book Now

Melbourne

Python for Geospatial Analysis:
21 Oct – 25 Oct 2019

440 Collins Street (Level 1), Melbourne CBD

View Details Book Now

Melbourne

Python for Scientists & Engineers:
21 Oct – 24 Oct 2019

440 Collins Street (Level 1), Melbourne CBD

View Details Book Now

Sydney

Introduction to Python:
18 Nov – 19 Nov 2019

60 Margaret Street (Level 13), Sydney CBD

View Details Brochure Book Now

Sydney

Python for Finance:
18 Nov – 20 Nov 2019

60 Clarence Street (Level 4), Sydney CBD

View Details Book Now

Canberra

Introduction to Python:
02 Dec – 03 Dec 2019

10 Moore St (Level 2), Civic

View Details Brochure Book Now

Canberra

Python for Scientists & Engineers:
02 Dec – 05 Dec 2019

10 Moore Street (Level 2), Civic

View Details Book Now

Canberra

Python for Geospatial Analysis:
02 Dec – 06 Dec 2019

10 Moore Street (Level 2), Civic

View Details Book Now

Register Your interest

Other courses and locations
Dates TBA

Register your interest

Location

Testimonials

“The course was delivered by trainers who were extremely knowledgeable in their field. It was really good to learn from the best!”

- Marius Roman

“Great course. Enjoyed it and will follow up with some practical implementation of some of the work.”

- Adam Grace

“One of the best training courses I've been on.”

- David Scurrah

“I loved it. Ed was inspiring.”

- Onoriode Coast

“Really impressed by Python's capability and excited to use as alternative to MatLab, as is free and better supported.”

- Carsten Hofmann

“Very comprehensive intro to every aspect of python. Highly qualified trainer. Beyond my expectation on every aspect.”

- Baichuan Sun

“The VM setup and USB is great. Ed is an excellent instructor - he presents well and welcomes any questions. He is clearly a super smart guy who has a great grasp on what he is teaching - able to just prototype on the fly and the course overall really opened my eyes to python.”

- Jack Hendy

“Course content was well presented and easily digested. Practical exercises were an essential part of the course – a good ratio of lecture/play was achieved. Well done Ed and Henry!”

- Steve Zegelin

“Simply awesome!!”

- James Park

“Both Ed and Henry presented well…. The course structure was adjusted to suit the participants quickly and easily.”

- Jenet Austin

“Excellent training course, excellently presented. Perhaps the best that I have had in the area of IT / programming.”

- George Grozev

“One of the best programming courses I have attended - thanks!”

- Giant Billen

“This course has shown me how I could have done the work I was doing just last week 10x more efficiently in Python.”

- Maruf Rahman

“It was a pleasure ... Shared feedback from all involved was that it’s been one of the most beneficial and well delivered training courses we’ve been a part of.”

- Dylan Matthews

“Was the most fulfilling and rewarding class I have taken since "general relativity" at uni. Was extremely well run. Excellent all round!”

- Dr Millicent Maier

“Very impressed with the course, delivery. And depth of knowledge of Ed and Henry. Far exceeded my expectations and has greatly improved my core skills as well as inspired so many new ideas for my current work / projects. Thank you!”

- Kelsey Druken