About the course
This three-day, hands-on workshop is tailored for experienced programmers (e.g., in JavaScript, C#, or Java) who want to quickly adopt Python and the Flask micro-framework for backend web development. We will start with a rapid, focused introduction to Python syntax, concentrating only on the features essential for web apps.
The course then immediately dives into Flask's core architecture, enabling you to build, structure, and integrate a database-backed application. You will learn to use industry-standard extensions like SQLAlchemy for data management and Jinja2 for templating, ensuring you leave with a complete, maintainable web application structure ready for deployment.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Translate Skills to Python: Quickly understand and utilize the essential Python syntax, data structures, and functions needed for web application development.
- Design a Flask Project: Set up and structure a scalable Flask application using the Blueprints modularization pattern.
- Manage Views & Templates: Define effective URL routing and render dynamic content using the Jinja2 templating engine, leveraging Python data structures in HTML.
- Persist Data: Connect Flask to a database and define models using the SQLAlchemy ORM to perform robust CRUD operations.
- Handle User Data: Implement robust and validated forms using Flask-WTF to securely process user input.
- Create APIs: Build simple, clean RESTful API endpoints for interaction with JavaScript frontends or other services.
- Deploy Applications: Prepare the application for production and understand basic deployment concepts.
-
This course is specifically designed for web developers and software engineers who have strong programming skills in a language like JavaScript, Java, or C#, along with comfort in HTML/CSS, but may have limited or no prior experience with Python or the Flask framework.
-
Attendees should have:
Proficiency in at least one modern programming language (e.g., JavaScript, C#, Java).
Basic knowledge of HTML and CSS: Understanding of page structure and styling.
Familiarity with the command line (CLI).
-
This Flask course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Python crash course for Web Developers
Essential syntax, lists, dictionaries, functions, and classes (how they relate to objects/classes in other languages).
Package management with Pip.
Flask setup and core concepts
Setting up virtual environments, installing extensions, app.py structure, flask run.
Introduction to simple routing and HTTP methods.
Templating with Jinja2
Rendering dynamic HTML with Jinja2.
Control structures (if, for) and filters.
Inheritance (base.html) for consistent page layouts.
Forms and user input
Processing GET and POST requests.
Introduction to Flask-WTF for form creation, validation, and submission handling.
Redirects and message flashing.
Database integration with SQLAlchemy
Connecting to a database (e.g., SQLite).
Defining data models using the SQLAlchemy ORM.
Implementing Basic CRUD (Create, Read, Update, Delete) functionality.
Structuring with Blueprints
Organizing larger applications by modularizing routes and views with Blueprints.
Separating configuration settings.
Building RESTful APIs
Principles of REST.
Creating simple JSON endpoints.
Handling request methods for API resources.
Using tools for API testing (e.g., Postman).
Finalizing and Deployment
Basic user registration and login/logout implementation (focusing on session management/hashing).
Preparing the app for production and deployment strategies (e.g., Gunicorn/WSGI servers).
-
Core Documentation
Flask Official Documentation: the primary source for all things Flask, including setup, routing, and extensions.
SQLAlchemy Documentation: the guide for the object-relational mapper (ORM) used for database interaction.
Jinja2 Templating Documentation: comprehensive documentation for the templating engine used to render dynamic HTML.
Python Installation & Setup
Python Installation: download the latest stable version of Python (3.8+ is recommended).
Pip and Virtual Environments (venv) documentation: Python's built-in tools for package management (pip) and environment isolation (venv).
VS Code Extensions
For developers using Visual Studio Code, these extensions provide critical support for writing Python and Jinja code:
Python Extension (Microsoft): provides Pylance (IntelliSense), debugging support, linting, and formatting for Python files.
Jinja Template Language Support: adds proper syntax highlighting for Jinja tags and expressions within HTML files.
Trusted by



