mirror of
https://github.com/tmdinosaurcenter/kiosk-guestbook.git
synced 2025-04-10 14:11:28 -06:00
51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
from flask import Flask, render_template, request, redirect, url_for
|
|
import sqlite3
|
|
|
|
app = Flask(__name__)
|
|
DATABASE = 'guestbook.db'
|
|
|
|
def init_db():
|
|
conn = sqlite3.connect(DATABASE)
|
|
c = conn.cursor()
|
|
c.execute('''
|
|
CREATE TABLE IF NOT EXISTS guests (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
first_name TEXT NOT NULL,
|
|
last_name TEXT NOT NULL,
|
|
email TEXT NOT NULL,
|
|
location TEXT NOT NULL,
|
|
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
)
|
|
''')
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
@app.route('/', methods=['GET', 'POST'])
|
|
def index():
|
|
if request.method == 'POST':
|
|
first_name = request.form.get('first_name')
|
|
last_name = request.form.get('last_name')
|
|
email = request.form.get('email')
|
|
location = request.form.get('location')
|
|
if first_name and last_name and email and location:
|
|
conn = sqlite3.connect(DATABASE)
|
|
c = conn.cursor()
|
|
c.execute(
|
|
'INSERT INTO guests (first_name, last_name, email, location) VALUES (?, ?, ?, ?)',
|
|
(first_name, last_name, email, location)
|
|
)
|
|
conn.commit()
|
|
conn.close()
|
|
return redirect(url_for('index'))
|
|
# Retrieve guest entries to display only first name and location.
|
|
conn = sqlite3.connect(DATABASE)
|
|
c = conn.cursor()
|
|
c.execute('SELECT first_name, location FROM guests ORDER BY id DESC')
|
|
guests = c.fetchall()
|
|
conn.close()
|
|
return render_template('index.html', guests=guests)
|
|
|
|
if __name__ == '__main__':
|
|
init_db()
|
|
app.run(host='0.0.0.0', port=5000)
|