This commit is contained in:
Erik Thiele
2026-04-12 15:59:19 +02:00
parent bbc75d5c98
commit 20eacbb82f
70 changed files with 53580 additions and 0 deletions

View File

@@ -0,0 +1,97 @@
# -*- coding: utf-8 -*-
"""
Girls Day Quiz Flask App finale Version
"""
from datetime import datetime
from flask import render_template, request, redirect
from GirlsDayPython import app
# -------------------
# Funktionen zum Code laden / speichern
# -------------------
def load_code():
try:
with open("code.txt", "r", encoding="utf-8") as f:
return f.read().strip()
except:
return ""
def save_code(code):
with open("code.txt", "w", encoding="utf-8") as f:
f.write(code)
# -------------------
# Home / Quiz-Seite
# -------------------
@app.route('/', methods=["GET", "POST"])
@app.route('/home', methods=["GET", "POST"])
def home():
message = ""
color = "green"
success = False # Flag für diese Anfrage
correct_code = load_code()
if request.method == "POST":
user_code = request.form["code"]
# Länge prüfen
if len(user_code) != len(correct_code):
message = f"Ungültige Eingabe. Der Code ist {len(correct_code)}-stellig."
color = "red"
else:
errors = [i+1 for i in range(len(correct_code)) if user_code[i] != correct_code[i]]
if not errors:
message = "Herzlichen Glückwunsch! Sie haben einen Preis gewonnen."
color = "green"
success = True # Eingabefeld ausblenden für diese Antwort
else:
if len(errors) == 1:
message = f"Falscher Code! An der Stelle {errors[0]} ist eine falsche Zahl eingetragen worden."
else:
stellen = " und ".join(map(str, errors))
message = f"Falscher Code! An den Stellen {stellen} sind falsche Zahlen eingetragen worden."
color = "red"
return render_template(
'index.html',
title='Girls Day Quiz',
year=datetime.now().year,
message=message,
color=color,
success=success
)
# -------------------
# Admin-Seite
# -------------------
@app.route('/admin', methods=["GET", "POST"])
def admin():
current_code = load_code()
if request.method == "POST":
new_code = request.form["code"]
save_code(new_code)
return redirect("/")
return render_template("admin.html", code=current_code)
# -------------------
# Kontakt / About
# -------------------
@app.route('/contact')
def contact():
return render_template(
'contact.html',
title='Contact',
year=datetime.now().year,
message='Your contact page.'
)
@app.route('/about')
def about():
return render_template(
'about.html',
title='About',
year=datetime.now().year,
message='Your application description page.'
)