es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Configurando la base de datos MySQL dentro de la función factory de Flask sin SQLAlchemy.

Soy nuevo en Flask y estoy tratando de construir una aplicación simple con una base de datos MySQL. Sin embargo, preferiría no usar SQLAlchemy. En su lugar, me gustaría usar mysql.connector y sentencias SQL directas para SELECT, INSERT, UPDATE o DELETE de la base de datos.

Tengo una pregunta: ¿es obligatorio definir la conexión/parámetros de la base de datos MySQL dentro de la función de fábrica? El tutorial de Flask muestra que se define una base de datos SQLite dentro de la función de fábrica create_app().

Código de ejemplo del tutorial:

import os

from flask import Flask

def create_app(test_config=None):
    # crear y configurar la aplicación
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_mapping(
        SECRET_KEY='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    if test_config is None:
        # cargar la configuración de instancia, si existe, cuando no se está probando
        app.config.from_pyfile('config.py', silent=True)
    else:
        # cargar la configuración de prueba si se pasa
        app.config.from_mapping(test_config)

    # asegurarse de que exista la carpeta de instancia
    try:
        os.makedirs(app.instance_path)
    except OSError:
        pass

    # una página sencilla que dice hola
    @app.route('/hello')
    def hello():
        return '¡Hola, Mundo!'

    return app

“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    No, no es obligatorio definir la conexión/parámetros de la base de datos MySQL dentro de la función factory en Flask. El código de tutorial de Flask demuestra la configuración de la base de datos SQLite dentro de la función factory solo con fines de demostración. Siempre y cuando tengas una conexión válida a la base de datos MySQL, puedes definir la conexión/parámetros en cualquier lugar del código de tu aplicación. Sin embargo, se recomienda definir la configuración en un archivo separado e importarlo en el código de tu aplicación para facilitar la administración de los archivos de configuración.

Comments are closed.