Ich möchte eine Verbindung zu einer bereits bestehenden Postgres-Datenbank herstellen, der in meiner App keine Modelle zugeordnet sind. Es ist nicht überraschend, dass sich dies als lästig erweist und dass dies mein erster Versuch mit Python und Flask ist.Verwenden von Flask, Python und Postgresql Wie kann ich eine Verbindung zu einer bereits vorhandenen Datenbank herstellen?
Die app/py-Code ist:
import os
from flask import Flask
from flask import render_template
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgres://blah:[email protected]:5432/mydb'
db = SQLAlchemy(app)
db.create_all()
db.session.commit()
@app.route("/")
def main():
return render_template('index.html')
@app.route('/base')
def base():
myusers = users.all()
return render_template('base.html')
if __name__ == '__main__':
app.run(debug=True)
die def main() funktioniert so, dass viel ich erreicht habe.
In der Ansicht (base.html) haben wir:
{% for user in myusers %}
<div><p>{{ user.first_name }} </b></p></div>
{% endfor %}
Als ich zum base.html Seite gehen die anhaltende Fehler NameError: global name 'users' is not defined
Was ist, viele Dinge wahrscheinlich, bin ich tun falsch hier? Alle Hilfe wird geschätzt. Vielen Dank.
dank ich ihm gebe einen Schuss und dann python models.py laufen? – user1903663
danke, dass es eine schöne Datei produziert, wie Sie vorgeschlagen haben. Was mache ich jetzt? Entschuldigung, so ein Dummy zu sein. Also importiere ich in meine App-Datei oder mache Python-Run-Modelle, py? Oder etwas anderes ...? – user1903663
Siehe aktualisierte Antwort. – pjcunningham