-WTF qui intègre la bibliothèque WTForms au micro framework Flask.
===== Initialiser l'application F...
<code python __init__.py>
#!/usr/bin/env python
from flask import Flask
app = Flask(__name__)
@a... 7_01.png}}
Pour la mise en forme, on utilise le framework Spectre CSS
===== Création du formulaire... transmis à la vue (le template).
<code python>
from flask_wtf import FlaskForm
from wtforms import
===== Flask : Définir une commande CLI ======
Le framework Flask s'appuie sur le paquetage Python [[h... simple de commande sans argument :
<code python>
from flask import Flask
app = Flask(__name__)
@app... sur les utilisateurs.
<code python>
import click
from flask import Flask
from flask.cli import AppGroup
app = Flask(__name__)
user_commands = AppGroup('
ine_numbers="true", highlight_lines_extra="16"] >
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.orm import DeclarativeBase, mapped_column, relationship
from sqlalchemy import Integer, String, Text, Foreig... e contenu de la table categories
sqlite> SELECT * FROM categories;
id|label|description|parent_id
1|ro
on du Blueprint :
<code python auth/__init__.py>
from flask import Blueprint
auth = Blueprint('auth'... les décorateurs :
<code python auth/__init__.py>
from flask import Blueprint
auth_blueprint = Bluepr... lication factory pour le charger :
<code python>
from .auth import auth_blueprint as auth_bp # bluepr... :
<code python>
"""
Modélise un utilisateur
"""
from ..extensions import db
from flask_login import
le module Python ''app.py''
<code python app.py>
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.con... le moment
sqlite3 instance/database.db 'SELECT * FROM alembic_version;'
</code>
Pour appliquer les m
itaires avec pytest ======
Flask s'appuie sur le framework pytest pour créer et exécuter les tests.
... mence par ''Test''.
===== Les fixtures =====
Le framework pytest propose le concept de **fixtures** ... n conftest.py>
# tests/conftest.py
import pytest
from wsgi import create_app
from wsgi.configs import TestingConfig
@pytest.fixture()
def app():
app
s packages Python ajoutant des fonctionnalités au framework Flask. On liste ici quelques extensions co... packages avec le tag [[https://pypi.org/search/?c=Framework+%3A%3A+Flask|Framework::Flask]].
===== debug-toolbar =====
Ajoute une barre d'outil de débo... variable SECRET_KEY doit exister.
<code python>
from flask import Flask
from flask_debugtoolbar impo
{{tag>dev python framework flask}}
:TODO_DOCUPDATE:
====== Flask : Gestion des configurations ======
La classe ''Config'' du framework **Flask** contient une méthode ''from_object()'' qui permet de charger une configuration à par... book.dev/en/articles/flask/api/index/flask.Config.from_object| Flask : Utiliser la méthode Config.from
ie la réponse au navigateur de l'utilisateur.
Le Framework Flask propose le décorateur ''route()'' po... méthodes HTTP (ou [[https://developer.mozilla.org/fr/docs/Web/HTTP/Reference/Methods|verbes HTTP]]) co... n qui se chargera des traitements.
<code python>
from markupsafe import escape
@app.route('/user/<us... iant le convertisseur ''string'' :
<code python>
from markupsafe import escape
@app.route('/user/<us
ir générer la partie dynamique du template via le framework Flask, on utilise la fonction helper ''ren... être retournée au client.
<note>
Par défaut, le framework Flask est paramétré pour rechercher les te... plates'' de l'application.
</note>
<code python>
from flask import Flask, render_template
# ...
@a... _lines_extra="5,23"]>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>{% blo
{{tag>dev python framework flask extension}}
:TODO_DOCUPDATE:
====== Flask: extension Flask-Maintena... de bloquer temporairement les requêtes entrantes (frontend).
Pour illustrer son fonctionnement, on u... euves de concepts.
Nom : app.py ou wsgi.py
"""
from flask import Flask, render_template
from flask_maintenance import Maintenance
app= Flask(__name__)
ction}}
====== Flask : redirections ======
Le framework Flask propose la fonction ''redirect()''. ... ment à la fonction ''url_for()'' :
<code python>
from flask import Flask, redirect, url_for
app = Fl... code=301)
</code>
On peut spécifier un [[https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP|code d'ét
<code python app.py [enable_line_numbers=“true”]>
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Shop(db.Model... ading-deletes/
* [[https://www.peterspython.com/fr/blog/sqlalchemy-utilisation-de-cascade-deletes-po
{{tag>dev python framework flask}}
====== Flask : Démarrer l'application depuis la CLI ======
La co... cation sur un serveur de développement intégré au framework ou de démarrer un shell interactif dans le