Python Central HubSign in

WEB 201IntermediateWeb development

Web Development with Flask

Routing, templates, forms, databases, sign-in and APIs, through to deployment.

98 lessons, not started

What you will learn

  • Build a multi-page web app with Flask
  • Store data and handle forms safely
  • Add accounts, APIs and background jobs
  • Deploy it where others can use it

Syllabus

98 lessons in 9 sections. Take them in order, or open any lesson directly.

  1. Flask Tutorials2 min
  2. Phase 1: Flask Fundamentals11 lessons
    1. Phase 1 - Flask Fundamentals2 min
    2. Introduction to Web Frameworks1 min
    3. Flask vs Django3 min
    4. WSGI Concepts1 min
    5. Setting up Virtual Environment1 min
    6. Installing Flask1 min
    7. First Flask Application (Hello World)1 min, 3 exercises
    8. Running the Dev Server2 min
    9. Debug Mode in Flask2 min
    10. Flask Command Line Interface (CLI)2 min
    11. Flask Directory Structure2 min
  3. Phase 2: Routing and Views9 lessons
    1. Phase 2 - Routing and Views1 min
    2. Basic Routing1 min, 3 exercises
    3. Variable Rules (Dynamic URLs)2 min, 3 exercises
    4. URL Building (url_for)1 min
    5. HTTP Methods (GET vs POST)1 min, 3 exercises
    6. Handling Query Parameters1 min, 3 exercises
    7. Returning JSON Data2 min, 3 exercises
    8. Redirects and Errors1 min, 3 exercises
    9. Custom Error Pages (404, 500)2 min, 3 exercises
  4. Phase 3: Templating (Jinja2)12 lessons
    1. Phase 3 - Templating (Jinja2)1 min
    2. Introduction to Jinja21 min, 3 exercises
    3. Rendering Templates1 min, 3 exercises
    4. Passing Variables to Templates2 min, 3 exercises
    5. Jinja2 Delimiters2 min
    6. Control Structures (If/Else, Loops)1 min
    7. Template Inheritance (Extends)1 min, 3 exercises
    8. Template Blocks3 min
    9. Jinja2 Filters2 min
    10. Custom Filters3 min
    11. Linking Static Files (CSS/JS)2 min
    12. Including Partials2 min
  5. Phase 4: Forms and User Input12 lessons
    1. Phase 4 - Forms and User Input1 min
    2. The Request Object3 min
    3. Handling Form Data2 min, 3 exercises
    4. Introduction to Flask-WTF2 min, 3 exercises
    5. Creating Form Classes2 min
    6. Form Validation2 min, 3 exercises
    7. CSRF Protection3 min
    8. Form Field Types2 min
    9. Rendering Forms in Templates2 min
    10. Flash Messages1 min
    11. File Uploading2 min
    12. Secure Filenames1 min
  6. Phase 5: Databases (Flask SQLAlchemy)15 lessons
    1. Phase 5 - Databases (Flask-SQLAlchemy)2 min
    2. Introduction to ORMs2 min, 3 exercises
    3. Setting up Flask-SQLAlchemy1 min, 3 exercises
    4. Configuring Database URI2 min
    5. Creating Database Models2 min, 3 exercises
    6. Primary Keys and Column Types2 min
    7. Creating the Database (db.create_all)1 min
    8. CRUD - Create Record1 min
    9. CRUD - Read Record2 min
    10. CRUD - Update Record1 min
    11. CRUD - Delete Record2 min
    12. One-to-Many Relationships2 min
    13. Many-to-Many Relationships2 min
    14. Database Migrations (Flask-Migrate)2 min
    15. Executing Raw SQL2 min
  7. Phase 6: User Authentication11 lessons
    1. Phase 6 - User Authentication1 min
    2. Cookies vs Sessions1 min
    3. Using Flask Sessions2 min
    4. Password Hashing (Werkzeug)1 min
    5. Introduction to Flask-Login2 min
    6. User Loader Function2 min
    7. Login View2 min
    8. Logout View2 min
    9. Protecting Routes (@login_required)2 min
    10. Remember Me Functionality2 min
    11. User Registration Flow2 min
  8. Phase 7: Advanced Flask Architecture10 lessons
    1. Phase 7 - Advanced Flask Architecture1 min
    2. Introduction to Blueprints2 min
    3. Registering Blueprints1 min
    4. Application Factory Pattern2 min
    5. Handling Configuration (config.py)1 min
    6. Context Processors1 min
    7. Request Hooks (before_request)2 min
    8. Flask Extensions Overview2 min
    9. Flask-Mail (Sending Emails)2 min
    10. Flask-Admin Interface2 min
  9. Phase 8: REST APIs with Flask8 lessons
    1. Phase 8 - REST APIs with Flask1 min
    2. Introduction to REST1 min, 3 exercises
    3. JSON Serialization2 min, 3 exercises
    4. Building a Simple API4 min, 3 exercises
    5. Testing APIs with Postman3 min
    6. Flask-RESTful vs Plain Flask2 min
    7. Token-Based Authentication (JWT)2 min, 3 exercises
    8. API Rate Limiting2 min
  10. Phase 9: Deployment9 lessons
    1. Phase 9 - Deployment1 min
    2. Preparing for Production3 min
    3. Environment Variables (.env)2 min
    4. Gunicorn Web Server3 min
    5. Using Nginx as Reverse Proxy3 min
    6. Dockerizing Flask App3 min
    7. Deploying to Render3 min
    8. Deploying to PythonAnywhere3 min
    9. Deploying to AWS EC22 min

What learners say