· 4 years ago · May 18, 2021, 12:54 PM
1
2import os
3import environs
4from environs import Env
5
6from flask import Flask
7
8HOST_MYSQL = None
9USER_MYSQL = None
10PASS_MYSQL = None
11PORT_MYSQL = None
12NAME_BD_MYSQL = None
13NAME_FILE_DUMP_SQL_BD = None
14
15ADRESSE_SRV_FLASK = None
16DEBUG_FLASK = None
17PORT_FLASK = None
18SECRET_KEY_FLASK = None
19WTF_CSRF_ENABLED = True
20
21try:
22 env = Env()
23 env.read_env()
24
25 HOST_MYSQL = env("HOST_MYSQL")
26 USER_MYSQL = env("USER_MYSQL")
27 PASS_MYSQL = env("PASS_MYSQL")
28 PORT_MYSQL = int(env("PORT_MYSQL")) # Pour la connection à la BD le port doit être une valeur numérique INT
29 NAME_BD_MYSQL = env("NAME_BD_MYSQL")
30 NAME_FILE_DUMP_SQL_BD = env("NAME_FILE_DUMP_SQL_BD")
31
32 ADRESSE_SRV_FLASK = env("ADRESSE_SRV_FLASK")
33 DEBUG_FLASK = env("DEBUG_FLASK")
34 PORT_FLASK = env("PORT_FLASK")
35 SECRET_KEY_FLASK = env("SECRET_KEY_FLASK")
36
37except environs.EnvError as e:
38 print(f"Error with env var")
39
40def create_app(test_config=None):
41 # create and configure the app
42 app = Flask(__name__, template_folder="templates")
43 app.config.from_mapping(
44 SECRET_KEY= SECRET_KEY_FLASK,
45 DEBUG_FLASK= DEBUG_FLASK,
46 PORT_FLASK= PORT_FLASK,
47 SECRET_KEY_FLASK= SECRET_KEY_FLASK
48
49 )
50
51
52
53 if test_config is None:
54 # load the instance config, if it exists, when not testing
55 app.config.from_pyfile('config.py', silent=True)
56 else:
57 # load the test config if passed in
58 app.config.from_mapping(test_config)
59
60 # ensure the instance folder exists
61 try:
62 os.makedirs(app.instance_path)
63 except OSError:
64 pass
65
66 # a simple page that says hello
67 @app.route('/hello')
68 def hello():
69 return 'Hello, World!'
70
71 from flaskr.admin import AdminController
72 app.register_blueprint(AdminController.bp)
73
74 from flaskr.auth import AuthController
75 app.register_blueprint(AuthController.bp)
76
77 return app