Solución:
Puede utilizar la estructura habitual del paquete de Python para dividir su aplicación en varios módulos, consulte los documentos de Flask.
Sin embargo,
Flask utiliza un concepto de planos para crear componentes de aplicaciones y admitir patrones comunes dentro de una aplicación o entre aplicaciones.
Puede crear un subcomponente de su aplicación como Blueprint en un archivo separado:
simple_page = Blueprint('simple_page', __name__, template_folder="templates")
@simple_page.route('/<page>')
def show(page):
# stuff
Y luego úsalo en la parte principal:
from yourapplication.simple_page import simple_page
app = Flask(__name__)
app.register_blueprint(simple_page)
Los blueprints también pueden agrupar recursos específicos: plantillas o archivos estáticos. Consulte los documentos de Flask para obtener todos los detalles.
Puede usar un truco simple que es importar la variable de la aplicación del matraz desde main dentro de otro archivo, como:
test-routes.py
from __main__ import app
@app.route('/test', methods=['GET'])
def test():
return 'it works!'
y en sus archivos principales, donde declaró la aplicación de matraz, importe rutas de prueba, como:
app.py
from flask import Flask, request, abort
app = Flask(__name__)
# import declared routes
import test-routes
Funciona de mi lado.
Me gustaría recomendar flask-empty en GitHub.
Proporciona una forma sencilla de comprender Blueprints, múltiples vistas y extensiones.