Login
This commit is contained in:
21
app.py
21
app.py
@@ -1,4 +1,4 @@
|
||||
from flask import Flask, render_template, request, jsonify, url_for
|
||||
from flask import Flask, render_template, request, jsonify, url_for, redirect, session
|
||||
import pandas as pd
|
||||
import os
|
||||
import logging
|
||||
@@ -9,6 +9,7 @@ import requests
|
||||
from collections import defaultdict
|
||||
|
||||
app = Flask(__name__, static_folder='static')
|
||||
app.secret_key = 'your_secret_key' # Setzen Sie einen sicheren geheimen Schlüssel für die Session
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -21,6 +22,9 @@ CSV_FILE = "data/customers.csv"
|
||||
# Lade Umgebungsvariablen
|
||||
load_dotenv()
|
||||
|
||||
# Statisches Passwort aus der .env Datei
|
||||
STATIC_PASSWORD = os.getenv('LOGIN_PASSWORD', 'changeme')
|
||||
|
||||
def clean_dataframe(df):
|
||||
"""Konvertiert NaN-Werte in None für JSON-Kompatibilität"""
|
||||
return df.replace({np.nan: None})
|
||||
@@ -48,12 +52,27 @@ def load_data():
|
||||
logger.error(f"Fehler beim Laden der CSV-Datei: {str(e)}")
|
||||
return None
|
||||
|
||||
@app.route('/login', methods=['GET', 'POST'])
|
||||
def login():
|
||||
if request.method == 'POST':
|
||||
password = request.form.get('password')
|
||||
if password == STATIC_PASSWORD:
|
||||
session['logged_in'] = True
|
||||
return redirect(url_for('index'))
|
||||
else:
|
||||
return render_template('login.html', error="Falsches Passwort")
|
||||
return render_template('login.html')
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
if not session.get('logged_in'):
|
||||
return redirect(url_for('login'))
|
||||
return render_template('index.html')
|
||||
|
||||
@app.route('/search')
|
||||
def search():
|
||||
if not session.get('logged_in'):
|
||||
return redirect(url_for('login'))
|
||||
try:
|
||||
# CSV-Datei laden
|
||||
df = load_data()
|
||||
|
Reference in New Issue
Block a user