Version2
This commit is contained in:
86
GirlsDayPython/views.py
Normal file
86
GirlsDayPython/views.py
Normal file
@@ -0,0 +1,86 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from datetime import datetime
|
||||
from flask import render_template, request, redirect
|
||||
from GirlsDayPython import app
|
||||
|
||||
def load_code():
|
||||
try:
|
||||
with open("code.txt", "r", encoding="utf-8") as f:
|
||||
return f.read().strip()
|
||||
except:
|
||||
return "1234"
|
||||
|
||||
def save_code(code):
|
||||
with open("code.txt", "w", encoding="utf-8") as f:
|
||||
f.write(code)
|
||||
|
||||
@app.route('/', methods=["GET", "POST"])
|
||||
@app.route('/home', methods=["GET", "POST"])
|
||||
def home():
|
||||
message = ""
|
||||
color = "green"
|
||||
success = False
|
||||
correct_code = load_code()
|
||||
|
||||
if request.method == "POST":
|
||||
user_code = request.form["code"]
|
||||
|
||||
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:
|
||||
success = True
|
||||
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,
|
||||
code_length=len(correct_code)
|
||||
)
|
||||
|
||||
@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, title="Admin", year=datetime.now().year)
|
||||
|
||||
@app.route('/success')
|
||||
def success_page():
|
||||
return render_template("success.html", title="Erfolg", year=datetime.now().year)
|
||||
|
||||
@app.route('/contact')
|
||||
def contact():
|
||||
return render_template(
|
||||
'contact.html',
|
||||
title='Kontakt',
|
||||
year=datetime.now().year,
|
||||
message='Girls Day Quiz'
|
||||
)
|
||||
|
||||
@app.route('/about')
|
||||
def about():
|
||||
return render_template(
|
||||
'about.html',
|
||||
title='Über uns',
|
||||
year=datetime.now().year,
|
||||
message='Girls Day Quiz'
|
||||
)
|
||||
Reference in New Issue
Block a user