Code Explainers
Flask code explainers
python
from flask import Blueprint, render_template, jsonify, request, abort from .models import Article
Content negotiation in a Flask Blueprint
content-negotiation
http-headers
routing
Intermediate
7 steps
python
from werkzeug.routing import BaseConverter, ValidationError from flask import Flask, jsonify, abort
Custom URL converters in Flask
url-routing
validation
converters
Intermediate
6 steps
python
from flask import Blueprint, jsonify from marshmallow import Schema, fields, validate, EXCLUDE from webargs.flaskparser import use_args
Validating query params in Flask with webargs
validation
schema
query-building
Intermediate
10 steps
python
import json import time import queue
Server-Sent Events streaming in Flask
server-sent-events
streaming
pub-sub
Advanced
9 steps
python
from flask import Blueprint, request, jsonify from marshmallow import Schema, fields, validate, ValidationError, EXCLUDE from .models import db, User
How a Flask blueprint validates and creates users
validation
rest-api
schema
Intermediate
8 steps
python
import random import click from faker import Faker
Building a Flask seed command with Click
cli
database seeding
orm
Intermediate
7 steps
python
import smtplib from email.message import EmailMessage from threading import Thread
Sending welcome emails off the request thread in Flask
background-threads
app-context
email
Intermediate
8 steps
python
from flask import Blueprint, request, url_for, jsonify, abort from flask.views import MethodView from .models import Article, db
Building a paginated JSON API with Flask MethodView
rest-api
pagination
class-based-views
Intermediate
10 steps
python
from flask import Blueprint, render_template, request, redirect, url_for, flash from werkzeug.security import check_password_hash from .models import User, db
A change-email route in Flask
blueprints
form-validation
password-hashing
Intermediate
8 steps
python
import hashlib import os from datetime import timedelta
Serving cacheable static assets in Flask
http-caching
etag
conditional-requests
Intermediate
8 steps
python
from flask import Blueprint, jsonify, request, abort v1 = Blueprint("users_v1", __name__) v2 = Blueprint("users_v2", __name__)
Versioning a Flask API with Blueprints
api versioning
blueprints
rest
Intermediate
7 steps
python
import os from datetime import timedelta
Class-based config in a Flask app factory
configuration
app-factory
inheritance
Intermediate
7 steps
python
import time from flask import Flask, g, request
Timing requests with Flask hooks
middleware
request-lifecycle
instrumentation
Intermediate
5 steps
python
from decimal import Decimal, ROUND_HALF_UP from babel.numbers import format_currency from flask import Flask
Building a currency Jinja filter in Flask
template filters
decimal precision
internationalization
Intermediate
6 steps
python
from functools import wraps import jwt from flask import current_app, g, jsonify, request
How a JWT auth decorator works in Flask
decorators
authentication
jwt
Intermediate
6 steps
python
from flask import Blueprint, jsonify, request, abort from flask_caching import Cache cache = Cache(config={"CACHE_TYPE": "RedisCache", "CACHE_REDIS_URL": "redis://localhost:6379/0"})
Custom cache keys for Flask endpoints
caching
redis
cache-invalidation
Intermediate
7 steps
python
from flask import Flask, g, jsonify, request, abort from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker
Per-request SQLAlchemy sessions in Flask
database sessions
request lifecycle
connection management
Intermediate
7 steps
python
from functools import wraps from flask import Blueprint, session, request, redirect, url_for, flash, render_template from werkzeug.security import check_password_hash
Session-based auth with a Flask Blueprint
authentication
decorators
sessions
Intermediate
9 steps