..in Ketten oder nicht... irgendwo der Platzhirsch unter den Python Frameworks.
Darf also hier nicht fehlen.
Wir erinnern uns, wie mir die Haare... öhm.. der Bart zu berge stand, als ich mich daran machte mein GPS-Signal Verfolgung als Joomla Erweiterung zu lösen...
Nach vielen Jahren Joomla Pause, war weniger der Einarbeitungsaufwand grundsätzlich mein Problem, sondern Lohnt sich der Aufwand, wenn nächste woche eine Joomla 6 Version alles über den Haufen wirft... mit joomla 1.5 ist es mir Gefühlt damals so ergangen.
Für die Verwaltung von Inhalten - wie diese Seite sie generiert - sicher ein Schönes Werkzeug. Da kommt im 'einfachen' Anwendungsbereich sicher jeder klar. Für viele - die Meisten Anwendungsfälle, gibt es fertige Erweiterungen... da hätte ich echt Problem Geld dafür zu nehmen solch eine Seite aufzusetzen... ..
Handelt es sich aber eher um eine Webanwendung... ich weiß nicht..
Ein wenig krampfig finde ich auf den ersten Blick Django schon. Im Gegensatz von Flask benötigt er - wie Joomla - schon eine Datenbank für sich selbst.
Im Moment leide ich gerade darunter ihm klar zu machen, mir mit seinem Gedönse vom Leib zu bleiben..
In der settings.py des Projekts, vesuche ich mich mit:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
},
'custom_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bahn',
'USER': 'python',
'PASSWORD': '***',
'HOST': 'localhost',
'PORT': '3306',
}
}
Der Plan:
(Nebenbei - schön, dass hier bei Joomla die Codehervorhebung im Admin-Bereich funktioniert aber nicht auf der Darstellungsseite👎)
Bei Django ist soweit alles fein. Django bietet Service - hart an der Grenze, einem alten Mann auf die Nerven zu gehen.... aber nur fast.
Was mir persönlich gegen den Strich geht: das Objekt-Rationale Modell, das zur Verwaltung von Daten standardmäßig verwendet wird.
Nach meiner unmaßgeblichen Meinung hast du entweder einen "leicht handhabbaren objektorientierten Ansatz" oder einen effizienten Datenbank Entwurf.
In den meisten Beispielen hauen die "Profis" eine Klasse über eine Tabelle - und das war es dann. Super, kann ich auch - nur wenn eine Datenbank in Normalform etwas komplizierter wird, werden die Lösungen im Objektansatz mit Python auch immer Kryptischer. Das kann nur so etwas wie eine Sekte (siehe Symbolbild) gut finden oder Masochisten - nur meine Meinung... Leute es gibt SQL - und das ist gut so....
Also mein Ansatz:
Lass Django was des Djangos ist und sein Gedönse in der "default" Datenbank vergraben - und mich in der strikt getrennten Datenbank via
from django.db import connections
...
with connections['custom_db'].cursor() as cursor:
cursor.execute(query, params)
results = cursor.fetchall()
...
Mein Ding machen... Bisher hat er sich aber wenig einsichtig gezeigt. Zum Entwurf wollte ich ihn erst mit MS Sql-Server verbinden - nee keine Chance, großer Widerstand (trotz oder wegen isoliertem "env" module - pyodbc -verheddert). Egal ich hab's fürs Web auch in MariaDB.
Jetzt haben wir den Status: we agree to disagree!
Soll ich jetzt die MariaDB updaten... oder Django ziehen lassen?