Spaces:
Sleeping
Sleeping
File size: 1,179 Bytes
1c4a712 |
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 38 39 40 41 42 43 |
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from dotenv import load_dotenv
import os
db = SQLAlchemy()
def create_app():
load_dotenv()
app = Flask(__name__)
app.config['SECRET_KEY'] = os.getenv('FLASK_SECRET_KEY', 'dev-secret-key-change-in-production')
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///participatory_planner.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
# Import models
from app.models import models
# Import and register blueprints
from app.routes import auth, submissions, admin
app.register_blueprint(auth.bp)
app.register_blueprint(submissions.bp)
app.register_blueprint(admin.bp)
# Create tables
with app.app_context():
db.create_all()
# Initialize with admin token if not exists
from app.models.models import Token
if not Token.query.filter_by(token='ADMIN123').first():
admin_token = Token(
token='ADMIN123',
type='admin',
name='Administrator'
)
db.session.add(admin_token)
db.session.commit()
return app
|