logo

Flask Cheat Sheet


title: Flask date: 2025-06-07 19:05:00 background: bg-[#3598db] tags: - web - python - backend categories: - Programming intro: | A concise cheatsheet for Flask, a lightweight WSGI web application framework for Python. plugins: - copyCode

Getting Started {.cols-3}

Install Flask

pip install flask

Hello World

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"

app.run(debug=True)

Flask CLI

export FLASK_APP=app.py
flask run

App Config & Environment {.cols-3}

App Object

from flask import Flask
app = Flask(__name__)

Configuration

app.config["DEBUG"] = True
app.config.from_pyfile("config.py")

Common Config Keys

| Key | Description | | | -- | | DEBUG | Enable debug mode | | SECRET_KEY | For sessions/cookies | | ENV | Set to 'development' |

Routing & Methods {.cols-3}

Basic Route

@app.route("/")
def home():
    return "Home"

Methods

@app.route("/login", methods=["GET", "POST"])
def login():
    return "Login"

Dynamic Routes

@app.route("/user/<name>")
def user(name):
    return f"User: {name}"

Request & Response {.cols-3}

Request Object

from flask import request

@app.route("/data", methods=["POST"])
def data():
    return request.json

Request Attributes

  • request.args: Query params
  • request.form: Form data
  • request.json: JSON body

Custom Response

from flask import make_response

@app.route("/custom")
def custom():
    res = make_response("Custom", 200)
    res.headers["X-Test"] = "True"
    return res

Templates & Static {.cols-3}

Render Template

from flask import render_template

@app.route("/")
def page():
    return render_template("index.html", name="Flask")

Jinja Syntax

<h1>Hello {{ name }}</h1>
{% if name %}
<p>Hi!</p>
{% endif %}

Static Files

<link href="{{ url_for('static', filename='style.css') }}" />

Sessions & Cookies {.cols-2}

Using Sessions

from flask import session
app.secret_key = "secret"

@app.route("/login")
def login():
    session["user"] = "admin"
    return "Logged in"

Access Cookies

from flask import request, make_response

@app.route("/cookie")
def cookie():
    resp = make_response("Set cookie")
    resp.set_cookie("site", "Flask")
    return resp

JSON API & Middleware {.cols-2}

JSON Response

from flask import jsonify

@app.route("/api")
def api():
    return jsonify(message="Hello")

Middleware

@app.before_request
def before():
    print("Before")

@app.after_request
def after(res):
    print("After")
    return res

Error Handling & Blueprints {.cols-2}

Error Handling

@app.errorhandler(404)
def not_found(e):
    return "Page not found", 404

Blueprint

from flask import Blueprint

admin = Blueprint("admin", __name__, url_prefix="/admin")

@admin.route("/")
def dash():
    return "Admin"

app.register_blueprint(admin)

Project Structure {.cols-2}

File Structure

project/
├── app.py
├── templates/
│   └── index.html
├── static/
│   └── style.css
└── config.py

Run Server

python app.py
# or using CLI
export FLASK_APP=app.py
flask run
⚙️ 后端框架

Flask

Flask Cheat Sheet - 快速参考指南,收录常用语法、命令与实践。

📂 分类 · 后端框架🧭 Markdown 速查🏷️ 2 个标签
#flask#python
向下滚动查看内容
返回全部 Cheat Sheets

Getting Started

Install Flask
BASH
滚动查看更多
pip install flask
Hello World
PYTHON
滚动查看更多
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"

app.run(debug=True)
Flask CLI
BASH
滚动查看更多
export FLASK_APP=app.py
flask run

App Config & Environment

App Object
PYTHON
滚动查看更多
from flask import Flask
app = Flask(__name__)
Configuration
PYTHON
滚动查看更多
app.config["DEBUG"] = True
app.config.from_pyfile("config.py")
Common Config Keys

| Key | Description | | | -- | | DEBUG | Enable debug mode | | SECRET_KEY | For sessions/cookies | | ENV | Set to 'development' |

Routing & Methods

Basic Route
PYTHON
滚动查看更多
@app.route("/")
def home():
    return "Home"
Methods
PYTHON
滚动查看更多
@app.route("/login", methods=["GET", "POST"])
def login():
    return "Login"
Dynamic Routes
PYTHON
滚动查看更多
@app.route("/user/<name>")
def user(name):
    return f"User: {name}"

Request & Response

Request Object
PYTHON
滚动查看更多
from flask import request

@app.route("/data", methods=["POST"])
def data():
    return request.json
Request Attributes
  • request.args: Query params
  • request.form: Form data
  • request.json: JSON body
Custom Response
PYTHON
滚动查看更多
from flask import make_response

@app.route("/custom")
def custom():
    res = make_response("Custom", 200)
    res.headers["X-Test"] = "True"
    return res

Templates & Static

Render Template
PYTHON
滚动查看更多
from flask import render_template

@app.route("/")
def page():
    return render_template("index.html", name="Flask")
Jinja Syntax
HTML
滚动查看更多
<h1>Hello {{ name }}</h1>
{% if name %}
<p>Hi!</p>
{% endif %}
Static Files
HTML
滚动查看更多
<link href="{{ url_for('static', filename='style.css') }}" />

Sessions & Cookies

Using Sessions
PYTHON
滚动查看更多
from flask import session
app.secret_key = "secret"

@app.route("/login")
def login():
    session["user"] = "admin"
    return "Logged in"
Access Cookies
PYTHON
滚动查看更多
from flask import request, make_response

@app.route("/cookie")
def cookie():
    resp = make_response("Set cookie")
    resp.set_cookie("site", "Flask")
    return resp

JSON API & Middleware

JSON Response
PYTHON
滚动查看更多
from flask import jsonify

@app.route("/api")
def api():
    return jsonify(message="Hello")
Middleware
PYTHON
滚动查看更多
@app.before_request
def before():
    print("Before")

@app.after_request
def after(res):
    print("After")
    return res

Error Handling & Blueprints

Error Handling
PYTHON
滚动查看更多
@app.errorhandler(404)
def not_found(e):
    return "Page not found", 404
Blueprint
PYTHON
滚动查看更多
from flask import Blueprint

admin = Blueprint("admin", __name__, url_prefix="/admin")

@admin.route("/")
def dash():
    return "Admin"

app.register_blueprint(admin)

Project Structure

File Structure
BASH
滚动查看更多
project/
├── app.py
├── templates/
│   └── index.html
├── static/
│   └── style.css
└── config.py
Run Server
BASH
滚动查看更多
python app.py
# or using CLI
export FLASK_APP=app.py
flask run

相关 Cheat Sheets