O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Python Web Development

Video Description

Explore and master Flask and Django

In Detail

Python has two powerful web frameworks, Flask and Django, for building web applications. The question is which framework should we choose? A common route is to begin building small, interesting projects with a simple framework, like Flask, and move on to Django as you begin to grasp the basics. In this Learning Path, you will learn how to build up and structure an effective web API that can be used by any client application accessing it over the HTTP protocol. We will take you deep into the world of using Flask, Django, and their ecosystem of extensions to create web applications.

Prerequisites: Basic knowledge of Python is needed.

Resources: Code downloads and errata:

  • Web API Development with Flask

  • Mastering Flask

  • Learning Django Web Development

  • Mastering Django Web Development

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Web API Development with Flask (1h 40m)

  • Mastering Flask (4h 14m)

  • Learning Django Web Development (1h 40m)

  • Mastering Django Web Development (1h)

  • Table of Contents

    1. Chapter 1 : Web API Development with Flask
      1. The Course Overview 00:02:42
      2. Setting Up Flask and Creating Your First Flask Application 00:06:09
      3. Custom Routing Configuration 00:09:15
      4. Flask Template Usage 00:06:35
      5. Flask Flash Messages and Custom Error Pages 00:03:25
      6. CRUD and REST Basics 00:03:08
      7. Using SQLAlchemy for Model Mapping 00:03:54
      8. Implementing Create 00:03:12
      9. Implementing Read 00:02:45
      10. Implementing Update 00:03:54
      11. Implementing Delete 00:02:43
      12. Hypermedia 00:04:36
      13. Implementing Pagination 00:02:36
      14. RESTful Authentication 00:06:27
      15. HTTP Caching 00:03:07
      16. Error Handling in RESTful APIs 00:04:43
      17. Guidelines for Building Large Projects 00:04:14
      18. Why Use HTTPS? 00:03:03
      19. Token Authentication 00:04:44
      20. Usage of Cookies 00:02:49
      21. Storing Passwords 00:03:49
      22. Using the Flask Test Client 00:02:36
      23. Testing Custom Flask Routes 00:03:17
      24. Testing CRUD 00:03:14
      25. Testing Authentication 00:03:16
    2. Chapter 2 : Mastering Flask
      1. The Course Overview 00:04:16
      2. A High-level Reintroduction into Flask 00:06:25
      3. Dependency Isolation with virtualenv 00:02:35
      4. Connecting to the Database 00:03:10
      5. Creating Models 00:03:08
      6. Accessing Data 00:07:02
      7. Creating and Querying One-to-Many Relationships 00:06:28
      8. Creating and Querying Many-to-Many Relationships 00:08:41
      9. Advanced Queries 00:07:33
      10. Loops and Control Structures 00:11:28
      11. Creating and Validating Forms with WTForms 00:06:34
      12. Creating Flask Blueprints 00:05:11
      13. Restructuring Our Files 00:10:06
      14. Installing and Configuring Flask-Login 00:04:16
      15. Handling Passwords with Flask Login 00:04:13
      16. Creating Login and Registration Pages 00:08:02
      17. Adding User Permissions 00:10:05
      18. What Is REST? 00:07:25
      19. Using Flask-RESTful 00:15:29
      20. Setting Up 00:04:39
      21. Interfacing with Models 00:07:36
      22. File Storage and Retrieval 00:04:55
      23. Flask Debug Toolbar 00:04:30
      24. Flask Cache 00:03:52
      25. Flask Assets 00:08:40
      26. Installing and Understanding Celery 00:07:00
      27. Writing Tasks in Celery 00:04:49
      28. Periodic Tasks in Celeryl 00:08:44
      29. What Is Unit Testing? 00:05:54
      30. Testing Our Models 00:03:58
      31. Testing URLs 00:04:08
      32. Testing Code Coverage 00:02:44
      33. Preparing Dependencies for Deploying 00:06:50
      34. Using a Simple VPS 00:13:38
      35. Using Amazon Web Services 00:19:51
      36. Using Heroku 00:10:24
      37. Where Do I Go from Here? 00:04:34
    3. Chapter 3 : Learning Django Web Development
      1. The Course Overview 00:02:49
      2. Installing Django and Creating Our Project 00:03:02
      3. Understanding Apps 00:03:45
      4. Creating Our Models 00:04:59
      5. Using the Built-in Admin Interface 00:02:49
      6. What Are Views? 00:03:19
      7. Using Django Templates 00:04:04
      8. Generic Display Views 00:05:54
      9. Template Inheritance and Parent Templates 00:05:12
      10. The User’s Model 00:05:59
      11. Changing Our Models 00:03:46
      12. Creating a Custom Profile 00:03:29
      13. Generic Form Views 00:03:58
      14. Enabling the Django Debug Toolbar 00:01:01
      15. Understanding Related Data 00:01:52
      16. Customizing Our Home Page View's Query 00:01:34
      17. Introducing WSGI 00:01:33
      18. Understanding Deployment 00:03:18
      19. Deploying Our Application 00:01:58
      20. Wrapping Up 00:01:37
    4. Chapter 4 : Mastering Django Web Development
      1. The Course Overview 00:02:27
      2. Extending Class-based Views 00:01:33
      3. Using Mixins 00:02:09
      4. Custom Class-based Views 00:01:07
      5. Creating a Switchboard View 00:02:57
      6. What Is Middleware? 00:02:30
      7. Creating a Custom Middleware 00:02:46
      8. Exception Handling Middleware 00:01:24
      9. Creating Template Filters 00:03:19
      10. Creating Custom Template Tags 00:04:23
      11. Using Tastypie to Create a REST API 00:03:40
      12. Complex Queries with Our API 00:02:12
      13. Authentication and CRUD Support 00:04:57
      14. Generic Relationships 00:02:09
      15. Formsets for Data Management 00:03:54
      16. Advanced Queries with Q() 00:03:16
      17. Low-level Caching 00:03:45
      18. Caching with Middleware 00:02:28
      19. Using the Template Cache 00:02:50
      20. Model Managers 00:02:05
      21. Using a Model Manager to Create New Objects 00:01:14
      22. Creating manage.py Commands 00:02:58