Afin de faciliter le développement et la maintenance d'une application Flask, une organisation est nécessaire. Je vous montre comment organiser les fichiers d'un projet Flask.
Ci-dessous la structure de fichiers à créer dans votre projet Flask
|-- app | |-- static | | `-- css | | `-- style.css | |-- templates | | |-- base.html | | |-- create_url.html | | |-- index.html | | |-- update_url.html | | `-- view_url.html | |-- __init__.py | |-- models.py | `-- views.py |-- config.py |-- init_db.py |-- requirements.txt `-- run.py
Dans le fichier config.py, nous allons renseigner des paramètres du projet
config.py
import os class Config: SECRET_KEY = '=&zn8lo42ycteu*y_u@os&%xrn@o*4$@x^%g8s^mb%z^q19d-k' SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(BASE_DIR, 'app.db') SQLALCHEMY_TRACK_MODIFICATIONS = False # Others Config BASE_URL = "https://knk.com/"
Dans le fichier requirements.txt, copiez et collez les dépendances du projet
Flask==2.2.5 Flask-SQLAlchemy==3.0.5 watchdog==3.0.0 hashids==1.3.1
Exécutez les commandes suivantes pour mettre en place un environnement virtuel
# Create a vritual environment python -m venv env # Activate the vritual environment source env/Scripts/activate # Install dependancies pip install -r requirements.txt
Vous pouvez vérifiez que les dépendances ont été bien installées avec la commande suivante
pip list
Package Version ----------------- ------- click 8.1.4 colorama 0.4.6 Flask 2.2.5 Flask-SQLAlchemy 3.0.5 greenlet 2.0.2 hashids 1.3.1 itsdangerous 2.1.2 Jinja2 3.1.2 MarkupSafe 2.1.3 pip 22.3.1 setuptools 65.5.0 SQLAlchemy 2.0.18 typing_extensions 4.7.1 watchdog 3.0.0 Werkzeug 2.3.6
from flask import Flask from flask_sqlalchemy import SQLAlchemy from hashids import Hashids app = Flask(__name__) app.config.from_object('config.Config') db = SQLAlchemy(app) hashids = Hashids(min_length=4, salt=app.config['SECRET_KEY'])
Dans le fichier run.py, copiez et collez le code ci-dessous
run.py
#!/usr/bin/env python # coding : utf-8 from app import app if __name__ == '__main__': app.run(debug=True, host='0.0.0.0', port=5000)
Dans la prochaine section, nous verrons comment ajouter une base de données dans un projet Flask.