1
resposta

Danjo x Flask x Streamlit

É possível criar um aplicativo web com Django ou Flask usando como Front-End o Stremlit? Se sim, como faria isso?

1 resposta

Oii, José! Tudo bem com você?

Sim, é possível criar um aplicativo web utilizando Django ou Flask como backend e Streamlit como frontend.

Ambos Django e Flask são frameworks de desenvolvimento web em Python que permitem criar aplicativos web completos. Enquanto Django é mais robusto e possui várias funcionalidades prontas para uso, Flask é mais leve e flexível, permitindo uma maior liberdade de escolha nas bibliotecas e ferramentas a serem utilizadas. Ou seja, qual usar fica a critério do que você tem em mente no seu projeto.

Para utilizar Streamlit como front, você pode criar um aplicativo Streamlit separado e utilizar a API fornecida pelo Django ou Flask para se comunicar com o backend. Por exemplo, você pode criar uma rota no seu aplicativo Django ou Flask que retorne os dados necessários para o Streamlit e, em seguida, utilizar esses dados para criar visualizações interativas no Streamlit.

Aqui está um exemplo básico de como você pode fazer isso utilizando Flask:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/dados', methods=['GET'])
def obter_dados():
    # Aqui você pode obter os dados do seu banco de dados ou de qualquer outra fonte
    dados = {
        'nome': 'João',
        'idade': 30,
        'email': 'joao@example.com'
    }
    return jsonify(dados)

if __name__ == '__main__':
    app.run()

E no seu aplicativo Streamlit, você pode consumir esses dados da seguinte forma:

import requests
import streamlit as st

response = requests.get('http://localhost:5000/dados')
dados = response.json()

st.write('Nome:', dados['nome'])
st.write('Idade:', dados['idade'])
st.write('Email:', dados['email'])

E basta substituir a URL http://localhost:5000/dados pela URL correta do seu aplicativo Flask.

Lembrando que é apenas um exemplo, pois a ideia do projeto de forma mais robusta cabe a decidir o que se encaixa melhor de acordo com suas ideias.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software