This course will teach you how to create dynamic web applications in Python using the Flask microframework. Special attention is paid to working with databases, developing RESTful APIs, and deploying applications.
Course program
Introduction to web development and Flask
- Basics of HTTP and client-server architecture;
- Installing and configuring Flask;
- Your first web server with Flask.
Routing and request handling
- Defining routes;
- Handling GET and POST requests;
- Jinja2 templates.
Working with forms and data validation
- HTML forms and their processing in Flask;
- Data validation using WTForms.
Connecting to and working with databases
- Introduction to SQL and relational databases;
- Using SQLite with Flask;
- ORM SQLAlchemy: creating models and queries.
Creating a RESTful API
- REST basics;
- Creating an API with Flask-RESTful;
- Authentication and authorization.
Deploying and testing the application
- Testing with unittest and pytest;
- Deployment on Heroku or another cloud service.
Practical projects
- Creating a blog, TODO list, or API for a store.
Course duration
8–10 weeks (2 classes per week, 1.5–2 hours each).
