Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 1.12 KB

Python.Flask.Context.md

File metadata and controls

65 lines (43 loc) · 1.12 KB

Flask

Original sources about Application and Request contexts in Flask are:

Types of contexts

  • Application Context (current_app, g)
  • Request Context (request, session)

Bind to Application context

Without a context manager

from app import app
from flask import current_app

app_ctx = app.app_context()
app_ctx.push()

print(current_app.config['ENV'])  # 'production'

app_ctx.pop()

With a context manager

from app import app
from flask import current_app

with app.app_context():
  print(current_app.config['ENV'])  # 'production'

Bind to Request context

Without a context manager

from app import app
from flask import request

request_ctx = app.test_request_context()
request_ctx.push()

print(request.method)  # 'GET'
print(request.path)  # '/'

request_ctx.pop()

With a context manager

from app import app
from flask import current_app

with app.test_request_context('/'):
  print(request.method)  # 'GET'
  print(request.path)  # '/'