poc-mvc-ocr/app/app.py

50 lines
1.5 KiB
Python

from flask import Flask, render_template, request, redirect, url_for, session, flash
import os
app = Flask(__name__)
app.secret_key = 'segredo-super-seguro'
# Rota de login
@app.route('/', methods=['GET', 'POST'])
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
email = request.form['email']
password = request.form['password']
if email == 'admin@admin.com' and password == '123456':
session['user'] = 'Admin'
return redirect(url_for('dashboard'))
else:
flash('Credenciais inválidas.', 'danger')
return render_template('login.html')
# Rota protegida
@app.route('/dashboard')
def dashboard():
if 'user' not in session:
return redirect(url_for('login'))
return render_template('dashboard.html', user_name=session['user'])
# Rota de upload
@app.route('/upload', methods=['GET', 'POST'])
def upload():
if 'user' not in session:
return redirect(url_for('login'))
if request.method == 'POST':
file = request.files['file']
if file:
filepath = os.path.join('uploads', file.filename)
os.makedirs('uploads', exist_ok=True)
file.save(filepath)
flash('Arquivo enviado com sucesso!', 'success')
return render_template('upload.html')
# Logout
@app.route('/logout')
def logout():
session.clear()
return redirect(url_for('login'))
if __name__ == '__main__':
app.run(debug=True, port=5003)