Change the default value of SESSION_COOKIE_SAMESITE from None to "Lax". When set to None, Flask does not include the SameSite attribute on session cookies, relying on browser defaults. While modern browsers default to Lax behavior when the attribute is absent, setting it explicitly ensures consistent CSRF defense across all browser versions, including older ones that do not apply the Lax default. Django has defaulted to "Lax" since 2.1 (2018). This aligns Flask with the ecosystem standard. Applications that require cross-site cookie behavior can set SESSION_COOKIE_SAMESITE to None (with SESSION_COOKIE_SECURE=True). |
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| docs | ||
| examples | ||
| src/flask | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .readthedocs.yaml | ||
| CHANGES.rst | ||
| LICENSE.txt | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Flask
Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around Werkzeug and Jinja, and has become one of the most popular Python web application frameworks.
Flask offers suggestions, but doesn't enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to use. There are many extensions provided by the community that make adding new functionality easy.
A Simple Example
# save this as app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
$ flask run
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Donate
The Pallets organization develops and supports Flask and the libraries it uses. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, please donate today.
Contributing
See our detailed contributing documentation for many ways to contribute, including reporting issues, requesting features, asking or answering questions, and making PRs.