-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathmain.py
More file actions
37 lines (28 loc) · 918 Bytes
/
main.py
File metadata and controls
37 lines (28 loc) · 918 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from dotenv import load_dotenv
load_dotenv()
from flask import Flask, jsonify
from marshmallow.exceptions import ValidationError
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from flask_bcrypt import Bcrypt
from flask_jwt_extended import JWTManager
db = SQLAlchemy()
ma = Marshmallow()
bcrypt = Bcrypt()
jwt = JWTManager()
def create_app():
app = Flask(__name__)
app.config.from_object("default_settings.app_config")
db.init_app(app)
ma.init_app(app)
bcrypt.init_app(app)
jwt.init_app(app)
from commands import db_commands
app.register_blueprint(db_commands)
from controllers import registerable_controllers
for controller in registerable_controllers:
app.register_blueprint(controller)
@app.errorhandler(ValidationError)
def handle_bad_request(error):
return (jsonify(error.messages), 400)
return app