Overview

This online training course is a high level introduction to the micro web framework written in Python, known as Flask. This course covers setting up your computer to utilize Flask, working with forms, CRUD operations on Database objects, pagination with Flask, supporting email transactions in your Flask app, understanding how to deploy your Flask app to Heroku, and more!

Course Instructor: Zac Brown

Course Outline

  • What is Flask?
  • Why do people use Flask?
  • Installing Flask modules
  • Setting up virtualenv
  • App structure
  • Code it!
  • What are templates?
  • Conditional statements
  • Loops
  • Inheritance
  • Flask-WTF
  • User login form
  • Form templates
  • Form views
  • Receiving form data
  • Improving field validation
  • Generating links
  • Databases in Flask
  • Migrations
  • SQLAlchemy
  • Models
  • Migration Repository
  • Relationships
  • Using the database
  • Password hashing
  • Flask-login
  • user_loader
  • Logging in/out
  • Require login
  • User registration
  • User profile page
  • User avatars
  • Debug mode
  • Custom errors pages
  • Email errors
  • Logging errors to a file
  • Database one-to-many
  • Representing followers
  • Follower DB model
  • Add/remove followers
  • Get posts from followed users
  • Unit testing the User model
  • Integration
  • Post creation
  • Displaying saved posts
  • Paginating posts
  • Page navigation
  • flask-mail
  • Timezone Hell
  • Conversions
  • Moment.js & Flask-moment
  • Current app limitations
  • Better app structure
  • elasticsearch
  • Deploy our app to a Heroku instance
  • User message support
  • REST
  • Client-server
  • Layered system
  • Cache
  • Code on demand
  • Stateless
  • Uniform interface
  • API Blueprint
  • Users on JSON
  • Error handling
  • User resource endpoints
  • API authentication

    Skills Learned

    After completing this online training course, students will be able to:

    • Setting up an environment to build a Flask app
    • Create a flask app while exploring different simplistic functionality
    • Using templates with Flask
    • Working with forms in Flask
    • Define and perform CRUD operations on DB objects with Flask
    • User authentication with Flask
    • Display avatars for users on their profile page
    • Learn the different functionality offered by Node.js for buffer interaction
    • Introduction to the “follower” functionality to your blog
    • Pagination with Flask
    • Support email transactions in our Flask app
    • Working with dates and times in your Flask app
    • Learn the basic usages of the express framework in your Node apps
    • Add full text search functionality with elasticsearch
    • Learn how to deploy your Flask app to Heroku
    • Understand how to build a fully functional RESTful API for our Flask based blog