La configuration de base est la suivante, et écrivez l'opération initiale dans \ __ init__.py sous app.
root/ ┣run.py ┣app/ ┣_init_.py ┣config.py ┣module1/ ┣_init_.py ┣models.py ┣controllers.py ┣forms.py ┣templates/ ┣static/
run.py
from app import create_app
if __name__ == "__main__":
app = create_app()
app.run()
app/__init__.pyy
from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
from flask.ext.sqlalchemy import SQLAlchemy # Import SQLAlchemy
from flask.ext.mongoengine import MongoEngine # Import Mongoengine
from flask.ext.admin import Admin
from app import config
# app setup
db = SQLAlchemy()
mongodb = MongoEngine()
admin = Admin()
toolbar = DebugToolbarExtension()
def create_app():
app = Flask()
app.config.config_from_object(config)
#Initializing
db.init_app(app)
mongodb.init_app(app)
admin.init_app(app)
toolbar.init_app(app)
# Import a module
from app.module1.controllers import mod_app
# Register blueprint(s)
app.register_blueprint(mod_app)
# Build the database:
# This will create the database file using SQLAlchemy
db.create_all()
return app
Si vous faites comme cela, vous pouvez spécifier url_prefix dans chaque module et vous inscrire avec register_bluepoint. Vous pouvez laisser la configuration sous forme de fichier, mais dans le cas de Windows, etc., "../" est subtil, donc je pense qu'il vaut mieux l'importer puis le lire comme un objet. Les modèles et satatiques peuvent être n'importe où, mais sous l'application, c'est intelligent.
Recommended Posts