import json import sqlalchemy from sqlalchemy.sql import select from flask import Flask from flask import render_template app = Flask(__name__) db_engine = {} db_metadata = {} parts = {} @app.route('/') def index(): return render_template('partsearch.html') @app.route('/query/') def query(query): pass def connect(user, password, db, host='localhost', port=5432): '''Returns a connection and a metadata object''' # We connect with the help of the PostgreSQL URL url = 'postgresql://{}:{}@{}:{}/{}' url = url.format(user, password, host, port, db) # The return value of create_engine() is our connection object con = sqlalchemy.create_engine(url, client_encoding='utf8') # We then bind the connection to MetaData() meta = sqlalchemy.MetaData(bind=con, reflect=True) return con, meta if __name__ == '__main__': with open('admin.json') as f: postgres_credentials = json.load(f) db_engine, db_metadata = connect(postgres_credentials['username'], postgres_credentials['password'], 'parts') parts = sqlalchemy.Table('parts', db_metadata) # Example query '''s = select([parts]).where(parts.c.notes != '') for row in db_engine.execute(s): print row''' app.run('0.0.0.0')