Flask Web Development

  1. Templates with Jinja2
    1. Introduction to Template Engines
      1. Purpose of Templating
        1. Server-Side vs Client-Side Templating
          1. Jinja2 Integration with Flask
            1. Template Security
            2. Template Basics
              1. Template File Structure
                1. Template Directory Organization
                  1. Rendering Templates with render_template()
                    1. Passing Data to Templates
                      1. Template Context
                      2. Jinja2 Syntax
                        1. Delimiters
                          1. Variable Delimiters {{ }}
                            1. Statement Delimiters {% %}
                              1. Comment Delimiters {# #}
                              2. Variables and Expressions
                                1. Literals and Data Types
                                  1. Operators
                                    1. Arithmetic Operators
                                      1. Comparison Operators
                                        1. Logical Operators
                                      2. Control Structures
                                        1. Conditional Statements
                                          1. if Statements
                                            1. elif Statements
                                              1. else Statements
                                                1. Nested Conditionals
                                                2. Loops
                                                  1. for Loops
                                                    1. Loop Variables
                                                      1. Loop Controls
                                                      2. Macros
                                                        1. Defining Macros
                                                          1. Calling Macros
                                                            1. Macro Arguments
                                                          2. Template Inheritance
                                                            1. Base Templates
                                                              1. Child Templates
                                                                1. extends Statement
                                                                  1. Block Definition
                                                                    1. Block Override
                                                                      1. super() Function
                                                                        1. Multi-level Inheritance
                                                                        2. Template Inclusion
                                                                          1. include Statement
                                                                            1. Reusable Template Snippets
                                                                              1. Include with Context
                                                                                1. Include without Context
                                                                                2. URL Generation in Templates
                                                                                  1. url_for() in Templates
                                                                                    1. Linking to Routes
                                                                                      1. Static File URLs
                                                                                        1. External URLs
                                                                                        2. Static Files Management
                                                                                          1. Static File Organization
                                                                                            1. CSS File Integration
                                                                                              1. JavaScript File Integration
                                                                                                1. Image File Integration
                                                                                                  1. Static File Versioning
                                                                                                  2. Filters and Functions
                                                                                                    1. Built-in Filters
                                                                                                      1. String Filters
                                                                                                        1. Number Filters
                                                                                                          1. List Filters
                                                                                                            1. Date Filters
                                                                                                            2. Custom Filters
                                                                                                              1. Creating Custom Filters
                                                                                                                1. Registering Filters
                                                                                                                2. Global Functions
                                                                                                                  1. Context Processors
                                                                                                                    1. Adding Global Variables
                                                                                                                      1. Custom Context Functions
                                                                                                                    2. Template Best Practices
                                                                                                                      1. Template Organization
                                                                                                                        1. Performance Considerations
                                                                                                                          1. Security Best Practices
                                                                                                                            1. Debugging Templates