Version2
This commit is contained in:
97
Version1/GirlsDayPython/views.py
Normal file
97
Version1/GirlsDayPython/views.py
Normal 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.'
|
||||
)
|
||||
Reference in New Issue
Block a user