Redid the index to use flask forms. Removed un-needed html pages. Started adding database.
This commit is contained in:
75
app.py
75
app.py
@@ -1,11 +1,80 @@
|
||||
from flask import Flask, render_template
|
||||
from flask import Flask, render_template, request, flash, redirect
|
||||
import datetime
|
||||
from sqlalchemy import create_engine, Column, Integer, Date, String
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
app = Flask(__name__)
|
||||
app.config['SECRET_KEY'] = 'fa6166b0218186fb852429060105aca18e0f979240be8ebf'
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
|
||||
@app.route('/')
|
||||
class Dates(Base):
|
||||
__tablename__ = 'Dates'
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
dateType = Column(Integer),
|
||||
dateValue = Column(Date)
|
||||
|
||||
|
||||
class DatesMetadata(Base):
|
||||
__tablename__ = 'DatesMetadata'
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
dateTypeID = Column(Integer)
|
||||
DateTypeName = Column(String)
|
||||
|
||||
|
||||
class Settings(Base):
|
||||
__tablename__ = 'Settings'
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
settingType = Column(Integer)
|
||||
settingVale = Column(String)
|
||||
|
||||
|
||||
class SettingsMetadata(Base):
|
||||
__tablename__ = 'SettingsMetadata'
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
settingTypeID = Column(Integer)
|
||||
settingTypeName = Column(String)
|
||||
|
||||
|
||||
engine = create_engine('sqlite:///static/db.db')
|
||||
Dates.__table__.create(bind=engine, checkfirst=True)
|
||||
Settings.__table__.create(bind=engine, checkfirst=True)
|
||||
DatesMetadata.__table__.create(bind=engine, checkfirst=True)
|
||||
SettingsMetadata.__table__.create(bind=engine, checkfirst=True)
|
||||
|
||||
Session = sessionmaker(bind=engine)
|
||||
session = Session()
|
||||
|
||||
|
||||
@app.route('/', methods=('GET', 'POST'))
|
||||
@app.route('/index.html', methods=('GET', 'POST'))
|
||||
def index():
|
||||
return render_template("index.html")
|
||||
|
||||
plantdate = datetime.datetime(2022, 1,19)
|
||||
last = datetime.datetime(2022, 1,19)
|
||||
freq = 7
|
||||
next = last + datetime.timedelta(days=freq)
|
||||
|
||||
alerts = {'text': False, 'email': True}
|
||||
|
||||
if request.method == 'POST':
|
||||
plantdate = request.form['plantDate']
|
||||
last = request.form['lastDate']
|
||||
next = datetime.datetime.strptime(last,'%Y-%m-%d') + datetime.timedelta(days=freq)
|
||||
|
||||
plant = {'plant': plantdate, 'last': last, 'next': next, 'freq': freq}
|
||||
return render_template("index.html", plant=plant, alerts=alerts)
|
||||
|
||||
else:
|
||||
dates = {'plant': '', 'last': '', 'next':'', 'freq': ''}
|
||||
dates['plant'] = session.query(Dates.dateValue).filter(Dates.dateType == 1).first()
|
||||
dates['last'] = session.query(Dates.dateValue).filter(Dates.dateType == 2).first()
|
||||
dates['next'] = session.query(Dates.dateValue).filter(Dates.dateType == 3).first()
|
||||
dates['freq'] = session.query(Dates.dateValue).filter(Dates.dateType == 4).first()
|
||||
flash(dates['plant'])
|
||||
return render_template("index.html", plant=dates, alerts=alerts)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user