Neuling! Python Script soll mit Webserver und MySql kommunizieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Tom12
User
Beiträge: 32
Registriert: Mittwoch 17. Januar 2018, 17:38

Mittwoch 17. Januar 2018, 17:45

Hallo,
ich bin ein Neuling in der Programmierung und in Python. Ich habe mir einen Raspberry angeschafft über welchen ein Apache2 Webserver mit MySql läuft allerdings nur im Internen Netzwerk. Nun möchte ich mit einem Python Script auf die Datenbank des Servers zugreifen und Daten anfordern bzw hinsenden. Geht das überhaupt in Python oder brauche ich dazu HTML und PHP ?

Würde mich freuen wenn mir jemand eine für Anfänger verständliche Antwort sendet :K

übrigens wenn ich diesen Thread im falschen Forum gepostet habe tut es mir leid, ich habe es jetzt einfach mal unter Allgemeine Fragen reingestellt
__deets__
User
Beiträge: 3500
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mittwoch 17. Januar 2018, 18:06

Mit Python kannst du auf MySQL zugreifen. Das hat aber erstmal ja nix mit HTML zu tun. Willst du also eine Webanwendung erstellen? Auch das geht mit Python. Da kommt dann natuerlich HTML/CSS/JS ins Spiel. PHP hat aber damit nix zu tun, aber mod_wsgi fuer deinen Apache wirst du konfigurieren muessen.
Tom12
User
Beiträge: 32
Registriert: Mittwoch 17. Januar 2018, 17:38

Mittwoch 17. Januar 2018, 18:39

Hallo _deets_,
erstmal danke für deine Antwort. Ich möchte eine 'App'
Erstellen (erstmal über konsole bis ich bei gui anwendungen angekommen bin) welche mir einen Eintrag der Datenbank am Webserver ausspuckt. Wie kann ich das realisieren?
Wie kann ich die Daten abfragen bzw. wie kann ein Python script Daten von Servern holen?

MfG Tom
__deets__
User
Beiträge: 3500
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mittwoch 17. Januar 2018, 18:42

Es gibt wirklich viele Tutorials da draussen. Damit kannst du anfangen. ZB mit Flask als Python Webserver:

https://code.tutsplus.com/tutorials/cre ... -cms-22972
Sirius3
User
Beiträge: 8430
Registriert: Sonntag 21. Oktober 2012, 17:20

Mittwoch 17. Januar 2018, 18:44

@Tom12: willst Du nun eine Konsolenanwendung, eine GUI oder eine Webanwendung? Und was meinst Du mit „einen Eintrag der Datenbank am Webserver ausspucken“?

Wenn Du eine GUI programmieren willst, brauchst Du keinen Webserver, sondern nur den Datenbankserver.
Tom12
User
Beiträge: 32
Registriert: Mittwoch 17. Januar 2018, 17:38

Mittwoch 17. Januar 2018, 19:34

Sirius3 ich möchte eine Konsolenanwendung welche sich Daten von einem Server holt. Was ich bis jetzt herausgefunden habe ist, dass
Ein PHP Script eine Verbindung zur Datenbank herstellt
Per SQL-Befehl Daten anfordert
Diese in Layout Tags integriet und an den Webbrowser sendet

allerdings habe ich diese dann auf der "Website" des Webservers
ich möchte sie allerdings in meinem Python Programm anzeigen lassen z.B
print("Datenbankeintrag:", Daten)
Sirius3
User
Beiträge: 8430
Registriert: Sonntag 21. Oktober 2012, 17:20

Mittwoch 17. Januar 2018, 19:44

@Tom12: dann brauchst Du keinen Webserver, sondern nur den Datenbankserver und ein mysql-Modul für Python.
Benutzeravatar
noisefloor
User
Beiträge: 2475
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 17. Januar 2018, 20:32

Hallo,

es gibt diverse Module für die Anbindung von Python an MySQL, z.B. mysqldb oder pymsql. Keine Ahnung, welches aktuell "das beste" ist, ich nutze kein MySQL. Damit kannst du aus Python heraus mit dem Datenbankserver interagieren und die Ergebnisse der Abfragen im Terminal bzw. im Python-Skript ausgeben lassen.

Frage: wenn das ganze lokal läuft, warum nimmst du dann nicht SQLite als Datenbank? Die Standardinstallation von Python hat dafür alles an Bord, da brauchst du nichts nachinstallieren. Und die Nutzung ist in der offiziellen Python-Doku erklärt. Und brauchst dich nicht mit den "Eigenheiten" von MySQl rum schlagen ;-)

Gruß, noisefloor
Antworten