technique:python:flask

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:python:flask [2020/02/07 00:34] francoisatechnique:python:flask [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Flask ====== +**Cette page est obsolèteVeuillez accéder au contenu à son nouvel emplacement : [[https://bibliotech.cemea.org/books/outils-technique/page/flask|flask]]**
- +
-Mini framework pour faire une petite appli web avec des templates, du mail… : [[https://palletsprojects.com/p/flask/|https://palletsprojects.com/p/flask/]] +
- +
-6 tutos vidéos sympa en français : [[https://www.youtube.com/playlist?list=PLn6POgpklwWrbGpkwkTS-TvnXxp34srC4|https://www.youtube.com/playlist?list=PLn6POgpklwWrbGpkwkTS-TvnXxp34srC4]] +
- +
-5 autres sur Flask et les formulaires : [[https://www.youtube.com/channel/UCABGT_MVqwPXXbdrOO_uYFQ|https://www.youtube.com/channel/UCABGT_MVqwPXXbdrOO_uYFQ]] +
- +
-[[https://www.tutorialspoint.com/flask/index.htm|https://www.tutorialspoint.com/flask/index.htm]] +
- +
-===== Créer une appli Flask avec un template jinja2 ===== +
- +
-myapp.py :<code> +
- +
-#!/usr/bin/python +
-# -*- coding: Utf-8 -*+
- +
-from flask import Flask, render_template +
- +
-app = Flask(__name__) +
- +
-@app.route('/'+
-@app.route('/accueil'+
-def index(): +
- +
-    # dictionnaire de data +
-    data = {'user': 'Xavki', 'machine': 'lubuntu-18.04'+
- +
-    # affichage +
-    return render_template('index.html', title='Home', data=data) +
- +
-@app.route('/hello'+
-def index(): +
-    return "Page Hello" +
- +
-if __name__ == '__main__': +
-    app.run(host='0.0.0.0', port=8080) +
- +
-</code> +
- +
-Dans le sous-dossier "templates", un fichier index.html +
- +
-<code> +
-<html> +
-    <head> +
-        <title>{{ title }} - Microblog</title> +
-    </head> +
-    <body> +
-        <h1>Hello, {{ data.user }}!</h1> +
-                <p>Tu es connecté de la machine : {{ data.machine }}</p> +
-    </body> +
-</html> +
- +
-</code> +
- +
-Cas avec un template plus élaboré avec des appels aux librairies plateform (pour OS local) et netifaces (pour interfaces réseau)\\ +
-On rajoute : +
- +
-<code> +
-import platform +
-import netifaces +
- +
-    data = { +
-      'user': 'Xavki', +
-      'machine': platform.node(), +
-      'os': platform.system(), +
-      'dist': platform.linux_distribution(), +
-      'interfaces': netifaces.interfaces() +
-    } +
- +
-</code> +
- +
-Et dans le template html : +
- +
-<code> +
-    <p>Machine : {{ data.machine }}</p> +
-    <p>OS : {{ data.os }}</p> +
-    <p>Distribution : </p> +
-    {% for elem in data.dist %} +
-        <p style="padding-left:20px">- {{ elem }}</p> +
-    {% endfor %} +
-    <p>Interfaces : </p> +
-    {% for inter in data.interfaces %} +
-        <p style="padding-left:20px">- {{ inter }}</p> +
-    {% endfor %} +
- +
-</code> +
- +
-Mode développement pratique pour gérer les modifs en direct et l'accès au mode débug en console : +
- +
-<code> +
-export FLASK_ENV=development +
- +
-</code> +
- +
-ou ajouter un .env contenant ''FLASK_ENV=development'' +
- +
-Et indiquer dans le script python : +
- +
-<code> +
-from dotenv import load_dotenv, find_dotenv +
- +
-load_dotenv(find_dotenv()) +
- +
-</code> +
- +
-===== Méthode pour parcourir un dossier de fichiers ===== +
- +
-os.walk(dossier_a_parcourir)\\ +
-Renvoie : parent, listedossiers (dnames), listefichiers (fnames) +
- +
-os.path.join(parent,nomfichier) +
  • technique/python/flask.1581032084.txt.gz
  • Dernière modification : 2020/04/11 02:26
  • (modification externe)