51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
import cs50
|
|
import csv
|
|
|
|
from flask import Flask, jsonify, redirect, render_template, request
|
|
|
|
# Configure application
|
|
app = Flask(__name__)
|
|
|
|
# Reload templates when they are changed
|
|
app.config["TEMPLATES_AUTO_RELOAD"] = True
|
|
|
|
|
|
@app.after_request
|
|
def after_request(response):
|
|
"""Disable caching"""
|
|
response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
|
|
response.headers["Expires"] = 0
|
|
response.headers["Pragma"] = "no-cache"
|
|
return response
|
|
|
|
|
|
@app.route("/", methods=["GET"])
|
|
def get_index():
|
|
return redirect("/form")
|
|
|
|
|
|
@app.route("/form", methods=["GET"])
|
|
def get_form():
|
|
return render_template("form.html")
|
|
|
|
|
|
@app.route("/form", methods=["POST"])
|
|
def post_form():
|
|
name = request.form.get("name")
|
|
hate = request.form.get("hate")
|
|
reason = request.form.get("reason")
|
|
if not name or not reason or not hate:
|
|
return render_template("error.html", message="Missing Inputs!")
|
|
file = open("survey.csv", "a")
|
|
writer = csv.writer(file)
|
|
writer.writerow((request.form.get("name"), request.form.get("hate"), request.form.get("reason")))
|
|
file.close()
|
|
return redirect("/sheet")
|
|
|
|
@app.route("/sheet", methods=["GET"])
|
|
def get_sheet():
|
|
file = open("survey.csv", "r")
|
|
reader = csv.reader(file)
|
|
students = list(reader)
|
|
return render_template("sheet.html", students=students)
|