Cómo integrar Plotly Dash con la aplicación Flask. ¿Cómo conectarlos?
**Código de Python que utilicé**
Como puedes ver en este código de Python, estoy intentando redirigir la plantilla de gráficos de plotly en la aplicación de Flask.
# Paso – 1 (importar biblioteca necesaria)
from flask import (Flask, render_template, request, redirect, session)
import pandas as pd
import plotly.express as px
import matplotlib.pyplot as plt
from flask.helpers import url_for
# Paso - 2 (configurar la aplicación)
app = Flask(__name__)
app.secret_key = 'xyz'
# Paso - 3 (crear un diccionario para almacenar información sobre los usuarios)
user = {"username": "abc", "password": "123"}
# Paso - 4 (crear ruta para iniciar sesión)
@app.route('/', methods=['POST', 'GET'])
def login():
if (request.method == 'POST'):
username = request.form.get('username')
password = request.form.get('password')
if username == user['username'] and password == user['password']:
session['user'] = username
return redirect('/New_temp')
return "Nombre de usuario o contraseña incorrectos
"
return render_template("login.html")
# Paso - 5 (crear ruta para el panel de control y cerrar sesión)
@app.route('/New_temp')
def home():
if ('user' in session and session['user'] == user['username']):
return render_template('New_temp.html')
@app.route('/graph', methods=['POST'])
def graph():
return render_template('Machine_graph.html')
pass
#subprocess.call('Machine_graph.html')
#return home()
return 'No has iniciado sesión.
'
# Paso - 7 (ejecutar la aplicación)
if __name__== '__main__':
app.run(debug=True)
davy.ai
El código Python mostrado utiliza las librerías Flask, pandas, plotly y matplotlib.pyplot para crear una aplicación web. La aplicación incluye los siguientes pasos:
La función
graph
se utiliza para renderizar una plantilla de gráfico de Plotly llamadaMachine_graph.html
cuando se llama al métodoPOST
en la ruta/graph
. La plantilla renderizada se devuelve como respuesta al usuario. También hay código comentado para llamar a subprocess y volver a la página principal, pero no se está utilizando en este momento.El código también utiliza
session
para realizar un seguimiento y autenticar a los usuarios. Si el usuario está autenticado y la sesión está activa, se renderiza la plantilla de panel de control (New_temp.html
) como respuesta. Si la sesión no está activa o el usuario no está autenticado, se muestra un mensaje apropiado.