| name | api-reference |
| description | Use when the user asks for "Flask API reference", "Flask decorators", "Flask request object", "Flask response", "Flask config options", "Flask url_for", "Flask flash messages", or needs specific Flask framework API details.
|
| disable-model-invocation | true |
Flask API Reference
Curated Flask framework API. For full docs, see https://flask.palletsprojects.com/
Route Decorators
@app.route('/path')
@app.route('/path', methods=['GET', 'POST'])
@app.route('/user/<int:id>')
@app.route('/user/<username>')
@app.route('/file/<path:filepath>')
Request Object
from flask import request
request.method
request.form['key']
request.form.get('key')
request.args.get('q')
request.files['file']
request.json
request.headers['X-Key']
request.cookies.get('k')
request.endpoint
request.url
request.remote_addr
Response Helpers
from flask import render_template, redirect, url_for, flash, jsonify, abort, make_response
render_template('page.html', var=value)
redirect(url_for('blueprint.view'))
url_for('blueprint.view', id=1)
url_for('static', filename='css/style.css')
flash('Message text', 'success')
jsonify({'key': 'value'})
abort(404)
make_response(body, status, headers)
Flash Messages (in templates)
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %}
<div class="alert alert-{{ category }}">{{ message }}</div>
{% endfor %}
{% endwith %}
Configuration
app.config['SECRET_KEY']
app.config['SQLALCHEMY_DATABASE_URI']
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']
app.config['MAX_CONTENT_LENGTH']
app.config['PERMANENT_SESSION_LIFETIME']
Decorators and Hooks
@app.before_request
@app.after_request
@app.teardown_request
@app.context_processor
@app.errorhandler(404)
@app.template_filter('name')
For Flask-Login, Blueprint API, SQLAlchemy session, and extension patterns, see references/extensions-reference.md.