Seite 1 von 1

Flask Login mit SQLite

Verfasst: Montag 28. Oktober 2019, 14:13
von Hypec
Hallo,
ich will ein Loginsystem für eine Flask seite programmieren. Ich habe bisher nur Sachen gefunden, wo die Flask-login lib in zusammenhang mit SQAlchemie Datenbanken genützt wird. Kann ich auch mit einer SQLite Datenbank irgendwie ein Db.modell erstellen wie bei SQAlchemie? Wenn nein kann ich trotzdem eine SQLite Datenbank nützen?

Re: Flask Login mit SQLite

Verfasst: Montag 28. Oktober 2019, 14:16
von sparrow
SQLAlchemy ist keine Datenbank sondern ein ORM. Es sorgt dafür, dass die Datenbank (die kann auch sqlite sein) (bzw. deren Tabellen und Objekte) sich in Python wie Python-Objekte darstellen.
Man möchte SQLAlchemy nehmen.

Re: Flask Login mit SQLite

Verfasst: Montag 28. Oktober 2019, 14:34
von Hypec
Ah und wie verbinde ich meine SQLite Datenbank mit SQLAlchemy? Gerne Links zu Tutorials.

Re: Flask Login mit SQLite

Verfasst: Montag 28. Oktober 2019, 15:04
von __blackjack__
Sowohl Flask-SQLAlchemy als auch SQLAlchemy haben eine Dokumentation. Gleich das allererste Beispiel in der Flask-SQLAlchemy-Dokumentation im Kapitel „Quickstart“, Unterabschnitt „A Minimal Application“ verwendet SQLite als Datenbank.

Re: Flask Login mit SQLite

Verfasst: Montag 28. Oktober 2019, 22:33
von Hypec
Ja stimmt. Das wäre ein guter erster weg.

Ich will neben dem neuen Loginsystem auch eine vernünftige Struktur in meine Seite bringen, welche bisher nur aus einer großen .py Datei bestand wo eigentlich alles an python drin war. Ich habe jetzt folgende Struktur:
|
|--- Ordner
| |---- __init__.py
| |---- routes.py
|
|--- run.py

das Ganze läuft über gunicorn auf Uberspace 7.3. Vorher als ich nur die routes.py mit allem hatte lief das ganze Problemlos. Was mache ich jetzt falsch bzw. soll ich anders machen das es wieder funktioniert?

gunicorn.app.ini :

Code: Alles auswählen

[program:gunicorn]
command=/home/hypec/app/venv/bin/gunicorn run:app -c /home/hypec/app/app_config.py
directory=/home/hypec/app/app
user=hypec
autostart=true
autorestart=true
redirect_stderr=true
stderr_logfile=/home/hypec/logs/test.err.log
stdout_logfile=/home/hypec/logs/test.out.log
__init__.py :

Code: Alles auswählen

from flask import Flask

app = Flask(__name__)
app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'

from greenhouse import routes
run.py :

Code: Alles auswählen

from greenhouse import app

if __name__ == '__main__': 
    app.run(host='0.0.0.0', port=8000, debug=True)
routes.py :
Flask app routen

Re: Flask Login mit SQLite

Verfasst: Dienstag 29. Oktober 2019, 10:12
von __blackjack__
@Hypec: Was für eine Fehlermeldung bekommst Du denn? Und ich sehe in der Verzeichnisstruktur nichts was `greenhouse` heisst. Und wo ist `app` definiert?

Re: Flask Login mit SQLite

Verfasst: Dienstag 29. Oktober 2019, 10:53
von Hypec
Der Ordner heißt greenhouse da hätte ich mich besser ausdrücken müssen. Das mit dem Import app habe ich von einem Tutorial wo das ganze so funktioniert hat und dann auf die __init__.py zugegriffen hat. Die Fehlermeldung kommt gleich noch bin gerade nicht am PC.

Re: Flask Login mit SQLite

Verfasst: Dienstag 29. Oktober 2019, 11:57
von Hypec
So jetzt noch die Fehlermeldung. Ich update den supervisor mit den Befehlen:

Code: Alles auswählen

supervisorctl reread 

supervisorctl update

uberspace web backend set / --http --port 8000

uberspace web backend list
Auf den letzten Befehl kommt dann "/ http:8000 => NOT OK, no service" wenn ich die Domain im Internet aufrufe bekomme ich 404.