Este artículo gira en torno a cómo crear comandos personalizados en el matraz. Cada vez que uno ejecuta el matraz usando la ejecución del matraz , ejecutar es en realidad un comando que inicia una función llamada ejecutar en los archivos de configuración del matraz. Del mismo modo, si alguna vez ha utilizado algo como la migración de matraz , probablemente esté familiarizado con la migración o actualización de la base de datos de matraz. Para crear un comando manual de este tipo que realice alguna acción en el backend, seguiremos algunos pasos:
¿Cómo crear comandos personalizados en Flask?
Paso 1: los comandos se crean utilizando dos bibliotecas principales: haga clic y with_appcontext biblioteca de matraz. Ahora vamos a crear un comando llamado » frasco crear » que debería iniciar una base de datos y crear una tabla simple en esa base de datos
import click from flask.cli import with_appcontext
click es la biblioteca que utiliza el matraz para crear estos comandos en la línea de comandos.
Paso 2: Agregar configuración de base de datos –
from flask_sqlalchemy import SQLAlchemy app.config['SQLALCHEMY_DATABASE_URI']="sqlite://db.sqlite3"
Paso 3: Luego, creemos una tabla simple como se muestra:
class MyTable(db.Model): id = db.Column(db.Integer, primary_key=True)
Entonces, esta tabla obviamente no hará nada, solo tendrá una columna, ya que el propósito de este artículo es demostrar cómo crear un comando, de modo que cada vez que desee crear un comando, primero use el decorador @click.command (nombre=’crear’) (aquí el valor del nombre del argumento indica el nombre del comando personalizado que desea crear).
@with_appcontext(): with_appcontext coloca toda la información de la aplicación en esta función, por lo que se hace referencia a la función como contenida en la aplicación.
Paso 4 – Vamos a crear el archivo requerido
Python3
# import required libraries from flask import Flask import click from flask.cli import with_appcontext from flask_sqlalchemy import SQLAlchemy # initialize flask app app = Flask(__name__) # initialize Database configuration app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://db.sqlite3' # create Database db = SQLAlchemy(app) # add table to Database class MyTable(db.Model): id = db.Column(db.Integer, primary_key=True) # create command function @click.command(name='create') @with_appcontext def create(): db.create_all() # add command function to cli commands app.cli.add_command(create)
Antes de ejecutar Flask crear –
Después de ejecutar Flask Create –
Tablas en la base de datos –