· 6 years ago · Sep 14, 2019, 09:28 AM
1from flask import Flask,request,render_template,redirect
2import sqlite3
3import os
4
5class Review(object):
6 def __init__(self,name,review):
7 self.name = name
8 self.review = review
9
10DATA_PATH = "/database"
11
12if os.path.exists(DATA_PATH) == False:
13 os.mkdir(DATA_PATH)
14
15app = Flask(__name__)
16
17def init_tables():
18
19 CREATE_TABLE = "CREATE TABLE IF NOT EXISTS REVIEWS (name TEXT NOT NULL, review TEXT NOT NULL)"
20 conn = sqlite3.connect(os.path.join(DATA_PATH,"reviews.db"))
21 cursor = conn.cursor()
22 cursor.execute(CREATE_TABLE)
23 conn.commit()
24 conn.close()
25
26init_tables()
27
28def add_review(name,review):
29
30 ADD_REVIEW = "INSERT INTO REVIEWS (name,review) VALUES (?,?)"
31 conn = sqlite3.connect(os.path.join(DATA_PATH,"reviews.db"))
32 cursor = conn.cursor()
33 conn.execute(ADD_REVIEW,(name,review))
34 conn.commit()
35 conn.close()
36
37def load_reviews():
38
39 reviews = []
40
41 LOAD_REVIEW = "SELECT * from REVIEWS"
42 conn = sqlite3.connect(os.path.join(DATA_PATH,"reviews.db"))
43 cursor = conn.cursor()
44 results = conn.execute(LOAD_REVIEW)
45
46 for row in results:
47 reviews.append(Review(row[0],row[1]))
48 return reviews
49
50@app.route("/",methods=["POST","GET"])
51def index():
52
53 if request.method == "POST":
54 name = request.form["name"]
55 review = request.form["review"]
56
57 add_review(name,review)
58
59 return redirect("/reviews")
60
61 return render_template("index.html")
62
63@app.route("/reviews",methods=["GET"])
64def reviews():
65
66 reviews = load_reviews()
67
68 return render_template("reviews.html",reviews=reviews)
69
70app.run(host="0.0.0.0",port=5000)