tetawebapp/tetawebapp/tetawebapp.py

110 lines
3.4 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8
# Required modules
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
from functools import wraps
# Optionnal modules
import psycopg2
from flask_sqlalchemy import SQLAlchemy
########################################################################
# App settings
########################################################################
app = Flask(__name__)
# Path to static files
app.static_url_path='/static'
# Set debug mode to False for production
app.debug = True
# Various configuration settings belong here (optionnal)
app.config.from_pyfile('config.local.py')
# Generate a new key: head -n 40 /dev/urandom | md5sum | cut -d' ' -f1
app.secret_key = 'ce1d1c9ff0ff388a838b3a1e3207dd27'
# Feel free to use SQLAlchemy (or not)
db = SQLAlchemy(app)
########################################################################
# Routes
########################################################################
@app.errorhandler(404)
def page_not_found(e):
""" 404 not found """
return render_template('error.html', menu=app.menu), 404
@app.route("/", methods=['GET', 'POST'])
def index():
app.menu = [('Accueil', '/', 1),
('Articles', '/articles', 0),
('Basics', '/basics', 0),
('Inputs', '/inputs', 0),
('Database', '/database', 0),
('Todo', '/todo', 0),
]
return render_template('index.html', menu=app.menu)
@app.route("/articles", methods=['GET', 'POST'])
def articles():
app.menu = [('Accueil', '/', 0),
('Articles', '/articles', 1),
('Basics', '/basics', 0),
('Inputs', '/inputs', 0),
('Database', '/database', 0),
('Todo', '/todo', 0),
]
return render_template('articles.html', menu=app.menu)
@app.route("/basics", methods=['GET', 'POST'])
def basics():
app.menu = [('Accueil', '/', 0),
('Articles', '/articles', 0),
('Basics', '/basics', 1),
('Inputs', '/inputs', 0),
('Database', '/database', 0),
('Todo', '/todo', 0),
]
return render_template('basics.html', menu=app.menu)
@app.route("/inputs", methods=['GET', 'POST'])
def inputs():
app.menu = [('Accueil', '/', 0),
('Articles', '/articles', 0),
('Basics', '/basics', 0),
('Inputs', '/inputs', 1),
('Database', '/database', 0),
('Todo', '/todo', 0),
]
return render_template('inputs.html', menu=app.menu)
@app.route("/database", methods=['GET', 'POST'])
def database():
app.menu = [('Accueil', '/', 0),
('Articles', '/articles', 0),
('Basics', '/basics', 0),
('Inputs', '/inputs', 0),
('Database', '/database', 1),
('Todo', '/todo', 0),
]
return render_template('database.html', menu=app.menu)
@app.route("/todo", methods=['GET', 'POST'])
def todo():
app.menu = [('Accueil', '/', 0),
('Articles', '/articles', 0),
('Basics', '/basics', 0),
('Inputs', '/inputs', 0),
('Database', '/database', 0),
('Todo', '/todo', 1),
]
return render_template('todo.html', menu=app.menu)
########################################################################
# Main
########################################################################
if __name__ == '__main__':
app.run(host='0.0.0.0')